[INFO] cloning repository https://github.com/Kingalidj/Chronos
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Kingalidj/Chronos" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKingalidj%2FChronos", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKingalidj%2FChronos'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 2e7f5971e2ca495b38b0dd1f5b0b4b940d4da575
[INFO] fixing Kingalidj/Chronos against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKingalidj%2FChronos" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Kingalidj/Chronos
[INFO] finished tweaking git repo https://github.com/Kingalidj/Chronos
[INFO] tweaked toml for git repo https://github.com/Kingalidj/Chronos written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Kingalidj/Chronos on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Kingalidj/Chronos already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 81b5dfd5e51195081fceb9381f7fe9b33c35d6614cf25dee37329955faa84c76
[INFO] running `Command { std: "docker" "start" "81b5dfd5e51195081fceb9381f7fe9b33c35d6614cf25dee37329955faa84c76", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "81b5dfd5e51195081fceb9381f7fe9b33c35d6614cf25dee37329955faa84c76" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "81b5dfd5e51195081fceb9381f7fe9b33c35d6614cf25dee37329955faa84c76", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "81b5dfd5e51195081fceb9381f7fe9b33c35d6614cf25dee37329955faa84c76" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling proc-macro2 v1.0.43
[INFO] [stderr]    Compiling quote v1.0.21
[INFO] [stderr]    Compiling unicode-ident v1.0.4
[INFO] [stderr]    Compiling syn v1.0.99
[INFO] [stderr]    Compiling libc v0.2.132
[INFO] [stderr]    Compiling regex-syntax v0.6.27
[INFO] [stderr]    Compiling beef v0.5.2
[INFO] [stderr]    Compiling paste v1.0.9
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking colored v2.0.0
[INFO] [stderr]    Compiling logos-derive v0.12.1
[INFO] [stderr]     Checking logos v0.12.1
[INFO] [stderr]     Checking chronos v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/main.rs from 2021 edition to 2024
[INFO] [stderr] error: errors present after applying fixes to crate `chronos`
[INFO] [stderr]  --> src/interpreter.rs
[INFO] [stderr]  ::: src/lexer.rs
[INFO] [stderr]  ::: src/parser.rs
[INFO] [stderr]   = cause: error: expected one of `(`, `,`, `::`, or `=`, found `+`
[INFO] [stderr]               --> src/lexer.rs:111:16
[INFO] [stderr]                |
[INFO] [stderr]            111 | #[derive(Logos + use<'s>, Debug, PartialEq, Clone)]
[INFO] [stderr]                |                ^ expected one of `(`, `,`, `::`, or `=`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `error` in this scope
[INFO] [stderr]               --> src/lexer.rs:252:7
[INFO] [stderr]                |
[INFO] [stderr]            252 |     #[error(|lex| lex.slice().parse())]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `error` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer.rs:249:7
[INFO] [stderr]                |
[INFO] [stderr]            249 |     #[regex(r"\t")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer.rs:247:7
[INFO] [stderr]                |
[INFO] [stderr]            247 |     #[regex("[ ]+")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer.rs:244:7
[INFO] [stderr]                |
[INFO] [stderr]            244 |     #[regex(r"\n")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer.rs:242:7
[INFO] [stderr]                |
[INFO] [stderr]            242 |     #[regex("//.*")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:239:7
[INFO] [stderr]                |
[INFO] [stderr]            239 |     #[token("void")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:237:7
[INFO] [stderr]                |
[INFO] [stderr]            237 |     #[token("...")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:235:7
[INFO] [stderr]                |
[INFO] [stderr]            235 |     #[token("this")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:233:7
[INFO] [stderr]                |
[INFO] [stderr]            233 |     #[token("return")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:231:7
[INFO] [stderr]                |
[INFO] [stderr]            231 |     #[token("const")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer.rs:228:7
[INFO] [stderr]                |
[INFO] [stderr]            228 |     #[regex("[_a-zA-Z][_0-9a-zA-Z]*", |lex| lex.slice().parse())]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:225:7
[INFO] [stderr]                |
[INFO] [stderr]            225 |     #[token("=")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:223:7
[INFO] [stderr]                |
[INFO] [stderr]            223 |     #[token("<=")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:221:7
[INFO] [stderr]                |
[INFO] [stderr]            221 |     #[token(">=")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:219:7
[INFO] [stderr]                |
[INFO] [stderr]            219 |     #[token("<")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:217:7
[INFO] [stderr]                |
[INFO] [stderr]            217 |     #[token(">")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:215:7
[INFO] [stderr]                |
[INFO] [stderr]            215 |     #[token("!=")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:213:7
[INFO] [stderr]                |
[INFO] [stderr]            213 |     #[token("==")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:210:7
[INFO] [stderr]                |
[INFO] [stderr]            210 |     #[token("/=")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:208:7
[INFO] [stderr]                |
[INFO] [stderr]            208 |     #[token("*=")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:206:7
[INFO] [stderr]                |
[INFO] [stderr]            206 |     #[token("-=")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:204:7
[INFO] [stderr]                |
[INFO] [stderr]            204 |     #[token("+=")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:201:7
[INFO] [stderr]                |
[INFO] [stderr]            201 |     #[token("!")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:199:7
[INFO] [stderr]                |
[INFO] [stderr]            199 |     #[token("/")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:197:7
[INFO] [stderr]                |
[INFO] [stderr]            197 |     #[token("*")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:195:7
[INFO] [stderr]                |
[INFO] [stderr]            195 |     #[token("--")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:193:7
[INFO] [stderr]                |
[INFO] [stderr]            193 |     #[token("-")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:191:7
[INFO] [stderr]                |
[INFO] [stderr]            191 |     #[token("++")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:189:7
[INFO] [stderr]                |
[INFO] [stderr]            189 |     #[token("+")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:186:7
[INFO] [stderr]                |
[INFO] [stderr]            186 |     #[token("\"", parse_string)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer.rs:183:7
[INFO] [stderr]                |
[INFO] [stderr]            183 |     #[regex(r"(([0-9]+)(\.[0-9]+))f64", |lex| parse_lit::<f64>(lex, "f64"))]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer.rs:179:7
[INFO] [stderr]                |
[INFO] [stderr]            179 |     #[regex(r"(([0-9]+)(\.[0-9]+))", |lex| lex.slice().parse())]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer.rs:180:7
[INFO] [stderr]                |
[INFO] [stderr]            180 |     #[regex(r"(([0-9]+)(\.[0-9]+))f32", |lex| parse_lit::<f32>(lex, "f32"))]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer.rs:176:7
[INFO] [stderr]                |
[INFO] [stderr]            176 |     #[regex(r"[0-9]+u128", |lex| parse_lit::<u128>(lex, "u128"))]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer.rs:174:7
[INFO] [stderr]                |
[INFO] [stderr]            174 |     #[regex(r"[0-9]+i128", |lex| parse_lit::<i128>(lex, "i128"))]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer.rs:171:7
[INFO] [stderr]                |
[INFO] [stderr]            171 |     #[regex(r"[0-9]+usize", |lex| parse_lit::<usize>(lex, "usize"))]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer.rs:169:7
[INFO] [stderr]                |
[INFO] [stderr]            169 |     #[regex(r"[0-9]+isize", |lex| parse_lit::<isize>(lex, "isize"))]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer.rs:166:7
[INFO] [stderr]                |
[INFO] [stderr]            166 |     #[regex(r"[0-9]+u64", |lex| parse_lit::<u64>(lex, "u64"))]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer.rs:164:7
[INFO] [stderr]                |
[INFO] [stderr]            164 |     #[regex(r"[0-9]+i64", |lex| parse_lit::<i64>(lex, "i64"))]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer.rs:161:7
[INFO] [stderr]                |
[INFO] [stderr]            161 |     #[regex(r"[0-9]+u32", |lex| parse_lit::<u32>(lex, "u32"))]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer.rs:158:7
[INFO] [stderr]                |
[INFO] [stderr]            158 |     #[regex(r"[0-9]+", |lex| lex.slice().parse())]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer.rs:159:7
[INFO] [stderr]                |
[INFO] [stderr]            159 |     #[regex(r"[0-9]+i32", |lex| parse_lit::<i32>(lex, "i32"))]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer.rs:155:7
[INFO] [stderr]                |
[INFO] [stderr]            155 |     #[regex(r"[0-9]+u16", |lex| parse_lit::<u16>(lex, "u16"))]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer.rs:153:7
[INFO] [stderr]                |
[INFO] [stderr]            153 |     #[regex(r"[0-9]+i16", |lex| parse_lit::<i16>(lex, "i16"))]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer.rs:150:7
[INFO] [stderr]                |
[INFO] [stderr]            150 |     #[regex(r"[0-9]+u8", |lex| parse_lit::<u8>(lex, "u8"))]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer.rs:148:7
[INFO] [stderr]                |
[INFO] [stderr]            148 |     #[regex(r"[0-9]+i8", |lex| parse_lit::<i8>(lex, "i8"))]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:144:7
[INFO] [stderr]                |
[INFO] [stderr]            144 |     #[token("false", parse_bool)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:145:7
[INFO] [stderr]                |
[INFO] [stderr]            145 |     #[token("true", parse_bool)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:141:7
[INFO] [stderr]                |
[INFO] [stderr]            141 |     #[token("||")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:139:7
[INFO] [stderr]                |
[INFO] [stderr]            139 |     #[token("&&")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:136:7
[INFO] [stderr]                |
[INFO] [stderr]            136 |     #[token("|")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:134:7
[INFO] [stderr]                |
[INFO] [stderr]            134 |     #[token("&")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:132:7
[INFO] [stderr]                |
[INFO] [stderr]            132 |     #[token(":")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:130:7
[INFO] [stderr]                |
[INFO] [stderr]            130 |     #[token(";")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:128:7
[INFO] [stderr]                |
[INFO] [stderr]            128 |     #[token(",")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:126:7
[INFO] [stderr]                |
[INFO] [stderr]            126 |     #[token(".")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:124:7
[INFO] [stderr]                |
[INFO] [stderr]            124 |     #[token("->")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/lexer.rs:20:28
[INFO] [stdout]    |
[INFO] [stdout] 20 |     ($self:ident, $default:expr, $n:expr,) => {$default};
[INFO] [stdout]    |                            ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout]    = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 20 |     ($self:ident, $default:expr_2021, $n:expr,) => {$default};
[INFO] [stdout]    |                                +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/lexer.rs:20:37
[INFO] [stdout]    |
[INFO] [stdout] 20 |     ($self:ident, $default:expr, $n:expr,) => {$default};
[INFO] [stdout]    |                                     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 20 |     ($self:ident, $default:expr, $n:expr_2021,) => {$default};
[INFO] [stdout]    |                                         +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/lexer.rs:22:28
[INFO] [stdout]    |
[INFO] [stdout] 22 |     ($self:ident, $default:expr, $n:expr, [$($x1:pat),*] $([$($x2:pat),*])*) => {
[INFO] [stdout]    |                            ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 22 |     ($self:ident, $default:expr_2021, $n:expr, [$($x1:pat),*] $([$($x2:pat),*])*) => {
[INFO] [stdout]    |                                +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               --> src/lexer.rs:121:7
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/lexer.rs:22:37
[INFO] [stdout]    |
[INFO] [stdout] 22 |     ($self:ident, $default:expr, $n:expr, [$($x1:pat),*] $([$($x2:pat),*])*) => {
[INFO] [stdout]    |                                     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 22 |     ($self:ident, $default:expr, $n:expr_2021, [$($x1:pat),*] $([$($x2:pat),*])*) => {
[INFO] [stdout]    |                                         +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/lexer.rs:35:36
[INFO] [stdout]    |
[INFO] [stdout] 35 |     ($name:tt -> $typ:ty, $default:expr, $([$($x:pat),*])*) =>
[INFO] [stdout]    |                                    ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 35 |     ($name:tt -> $typ:ty, $default:expr_2021, $([$($x:pat),*])*) =>
[INFO] [stdout]    |                                        +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            121 |     #[token(")")]
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/lexer.rs:46:38
[INFO] [stdout]    |
[INFO] [stdout] 46 |     ($name: tt -> $typ:ty, $default: expr, $([$val:expr; $($x2:pat),*])*) => {
[INFO] [stdout]    |                                      ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 46 |     ($name: tt -> $typ:ty, $default: expr_2021, $([$val:expr; $($x2:pat),*])*) => {
[INFO] [stdout]    |                                          +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |       ^^^^^
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/lexer.rs:46:52
[INFO] [stdout]    |
[INFO] [stdout] 46 |     ($name: tt -> $typ:ty, $default: expr, $([$val:expr; $($x2:pat),*])*) => {
[INFO] [stdout]    |                                                    ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 46 |     ($name: tt -> $typ:ty, $default: expr, $([$val:expr_2021; $($x2:pat),*])*) => {
[INFO] [stdout]    |                                                        +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/parser.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |     ($e:expr) => {{
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 10 |     ($e:expr_2021) => {{
[INFO] [stdout]    |             +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/parser.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |     ($e:expr) => {{
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 19 |     ($e:expr_2021) => {{
[INFO] [stdout]    |             +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/parser.rs:105:11
[INFO] [stdout]     |
[INFO] [stdout] 105 |     ($tok:expr, $panic:expr, $($lhs:pat => $rhs:expr)*) => {
[INFO] [stdout]     |           ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 105 |     ($tok:expr_2021, $panic:expr, $($lhs:pat => $rhs:expr)*) => {
[INFO] [stdout]     |               +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/parser.rs:105:24
[INFO] [stdout]     |
[INFO] [stdout] 105 |     ($tok:expr, $panic:expr, $($lhs:pat => $rhs:expr)*) => {
[INFO] [stdout]     |                        ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 105 |     ($tok:expr, $panic:expr_2021, $($lhs:pat => $rhs:expr)*) => {
[INFO] [stdout]     |                            +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/parser.rs:105:49
[INFO] [stdout]     |
[INFO] [stdout] 105 |     ($tok:expr, $panic:expr, $($lhs:pat => $rhs:expr)*) => {
[INFO] [stdout]     |                                                 ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 105 |     ($tok:expr, $panic:expr, $($lhs:pat => $rhs:expr_2021)*) => {
[INFO] [stdout]     |                                                     +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/primitive.rs:113:11
[INFO] [stdout]     |
[INFO] [stdout] 113 |     ($lhs:expr; $op:tt $rhs:expr; $op_fn:ident) => {{
[INFO] [stdout]     |           ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 113 |     ($lhs:expr_2021; $op:tt $rhs:expr; $op_fn:ident) => {{
[INFO] [stdout]     |               +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/primitive.rs:113:29
[INFO] [stdout]     |
[INFO] [stdout] 113 |     ($lhs:expr; $op:tt $rhs:expr; $op_fn:ident) => {{
[INFO] [stdout]     |                             ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 113 |     ($lhs:expr; $op:tt $rhs:expr_2021; $op_fn:ident) => {{
[INFO] [stdout]     |                                 +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/primitive.rs:139:11
[INFO] [stdout]     |
[INFO] [stdout] 139 |     ($lhs:expr; $op:tt $rhs:expr; => $rest:expr) => {{
[INFO] [stdout]     |           ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 139 |     ($lhs:expr_2021; $op:tt $rhs:expr; => $rest:expr) => {{
[INFO] [stdout]     |               +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/primitive.rs:139:29
[INFO] [stdout]     |
[INFO] [stdout] 139 |     ($lhs:expr; $op:tt $rhs:expr; => $rest:expr) => {{
[INFO] [stdout]     |                             ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 139 |     ($lhs:expr; $op:tt $rhs:expr_2021; => $rest:expr) => {{
[INFO] [stdout]     |                                 +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               --> src/lexer.rs:119:7
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/primitive.rs:139:44
[INFO] [stdout]     |
[INFO] [stdout] 139 |     ($lhs:expr; $op:tt $rhs:expr; => $rest:expr) => {{
[INFO] [stdout]     |                                            ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 139 |     ($lhs:expr; $op:tt $rhs:expr; => $rest:expr_2021) => {{
[INFO] [stdout]     |                                                +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/primitive.rs:420:23
[INFO] [stdout]     |
[INFO] [stdout] 420 |         if let String(ref s1) = self {
[INFO] [stdout]     |                       ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/primitive.rs:420:16
[INFO] [stdout]     |
[INFO] [stdout] 420 |         if let String(ref s1) = self {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: `--force-warn rust-2024-incompatible-pat` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 420 -         if let String(ref s1) = self {
[INFO] [stdout] 420 +         if let String(s1) = self {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            119 |     #[token("(")]
[INFO] [stdout] warning: call to deprecated safe function `std::env::set_var` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/main.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 |     env::set_var("RUST_BACKTRACE", "1");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/newly-unsafe-functions.html>
[INFO] [stdout]    = note: `--force-warn deprecated-safe-2024` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: you can wrap the call in an `unsafe` block if you can guarantee that the environment access only happens in single-threaded code
[INFO] [stdout]    |
[INFO] [stdout] 40 +     // FIXME: Audit that the environment access only happens in single-threaded code.
[INFO] [stdout] 41 ~     unsafe { env::set_var("RUST_BACKTRACE", "1") };
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |       ^^^^^
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, std::string::String, TokenType>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]     = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]     = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos + use<'s>, Debug, PartialEq, Clone)]
[INFO] [stdout]     |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, i32, TokenType>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos + use<'s>, Debug, PartialEq, Clone)]
[INFO] [stdout]     |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, i32, TokenType>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos + use<'s>, Debug, PartialEq, Clone)]
[INFO] [stdout]     |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, f32, TokenType>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos + use<'s>, Debug, PartialEq, Clone)]
[INFO] [stdout]     |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, f32, TokenType>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos + use<'s>, Debug, PartialEq, Clone)]
[INFO] [stdout]     |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, f64, TokenType>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos + use<'s>, Debug, PartialEq, Clone)]
[INFO] [stdout]     |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, f32, TokenType>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos + use<'s>, Debug, PartialEq, Clone)]
[INFO] [stdout]     |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, i64, TokenType>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos + use<'s>, Debug, PartialEq, Clone)]
[INFO] [stdout]     |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, isize, TokenType>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos + use<'s>, Debug, PartialEq, Clone)]
[INFO] [stdout]     |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, i16, TokenType>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos + use<'s>, Debug, PartialEq, Clone)]
[INFO] [stdout]     |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               --> src/lexer.rs:117:7
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, i128, TokenType>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos + use<'s>, Debug, PartialEq, Clone)]
[INFO] [stdout]     |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, i8, TokenType>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos + use<'s>, Debug, PartialEq, Clone)]
[INFO] [stdout]     |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            117 |     #[token("}")]
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, i32, TokenType>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos + use<'s>, Debug, PartialEq, Clone)]
[INFO] [stdout]     |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |       ^^^^^
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, u8, TokenType>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos + use<'s>, Debug, PartialEq, Clone)]
[INFO] [stdout]     |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, u32, TokenType>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos + use<'s>, Debug, PartialEq, Clone)]
[INFO] [stdout]     |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, u64, TokenType>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos + use<'s>, Debug, PartialEq, Clone)]
[INFO] [stdout]     |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, u128, TokenType>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos + use<'s>, Debug, PartialEq, Clone)]
[INFO] [stdout]     |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, u16, TokenType>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos + use<'s>, Debug, PartialEq, Clone)]
[INFO] [stdout]     |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, usize, TokenType>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos + use<'s>, Debug, PartialEq, Clone)]
[INFO] [stdout]     |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:115:7
[INFO] [stderr]                |
[INFO] [stderr]            115 |     #[token("{")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `TokenType: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lexer.rs:57:27
[INFO] [stderr]                |
[INFO] [stderr]             57 | fn parse_string(lex: &mut Lexer<TokenType>) -> Option<String> {
[INFO] [stderr]                |                           ^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `TokenType`
[INFO] [stderr]               --> src/lexer.rs:112:1
[INFO] [stderr]                |
[INFO] [stderr]            112 | pub enum TokenType {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            note: required by a bound in `Lexer`
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.12.1/src/lexer.rs:13:34
[INFO] [stderr]                |
[INFO] [stderr]             13 | pub struct Lexer<'source, Token: Logos<'source>> {
[INFO] [stderr]                |                                  ^^^^^^^^^^^^^^ required by this bound in `Lexer`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `TokenType: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lexer.rs:87:25
[INFO] [stderr]                |
[INFO] [stderr]             87 | fn parse_bool(lex: &mut Lexer<TokenType>) -> bool {
[INFO] [stderr]                |                         ^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `TokenType`
[INFO] [stderr]               --> src/lexer.rs:112:1
[INFO] [stderr]                |
[INFO] [stderr]            112 | pub enum TokenType {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            note: required by a bound in `Lexer`
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.12.1/src/lexer.rs:13:34
[INFO] [stderr]                |
[INFO] [stderr]             13 | pub struct Lexer<'source, Token: Logos<'source>> {
[INFO] [stderr]                |                                  ^^^^^^^^^^^^^^ required by this bound in `Lexer`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `TokenType: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lexer.rs:95:27
[INFO] [stderr]                |
[INFO] [stderr]             95 | fn parse_lit<T>(lex: &mut Lexer<TokenType>, lit: &str) -> Option<T>
[INFO] [stderr]                |                           ^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `TokenType`
[INFO] [stderr]               --> src/lexer.rs:112:1
[INFO] [stderr]                |
[INFO] [stderr]            112 | pub enum TokenType {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            note: required by a bound in `Lexer`
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.12.1/src/lexer.rs:13:34
[INFO] [stderr]                |
[INFO] [stderr]             13 | pub struct Lexer<'source, Token: Logos<'source>> {
[INFO] [stderr]                |                                  ^^^^^^^^^^^^^^ required by this bound in `Lexer`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `TokenType` doesn't implement `Debug`
[INFO] [stderr]               --> src/interpreter.rs:74:65
[INFO] [stderr]                |
[INFO] [stderr]             74 |         _ => panic!("expected add, sub, mul, div, found: {:?}", op),
[INFO] [stderr]                |                                                          ----   ^^ `TokenType` cannot be formatted using `{:?}` because it doesn't implement `Debug`
[INFO] [stderr]                |                                                          |
[INFO] [stderr]                |                                                          required by this formatting parameter
[INFO] [stderr]                |
[INFO] [stderr]                = help: the trait `Debug` is not implemented for `TokenType`
[INFO] [stderr]            help: consider annotating `TokenType` with `#[derive(Debug)]`
[INFO] [stderr]               --> src/lexer.rs:112:1
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Debug)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `remainder` exists for mutable reference `&mut Lexer<'_, TokenType>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lexer.rs:58:21
[INFO] [stderr]                |
[INFO] [stderr]             58 |     let chars = lex.remainder().chars();
[INFO] [stderr]                |                     ^^^^^^^^^ method cannot be called on `&mut Lexer<'_, TokenType>` due to unsatisfied trait bounds
[INFO] [stderr]            ...
[INFO] [stderr]            112 | pub enum TokenType {
[INFO] [stderr]                | ------------------ doesn't satisfy `TokenType: Logos<'_>`
[INFO] [stderr]                |
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `TokenType: Logos<'_>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.12.1/src/lib.rs:185:1
[INFO] [stderr]                |
[INFO] [stderr]            185 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `bump` exists for mutable reference `&mut Lexer<'_, TokenType>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lexer.rs:83:9
[INFO] [stderr]                |
[INFO] [stderr]             83 |     lex.bump(len);
[INFO] [stderr]                |         ^^^^ method cannot be called on `&mut Lexer<'_, TokenType>` due to unsatisfied trait bounds
[INFO] [stderr]            ...
[INFO] [stderr]            112 | pub enum TokenType {
[INFO] [stderr]                | ------------------ doesn't satisfy `TokenType: Logos<'_>`
[INFO] [stderr]                |
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `TokenType: Logos<'_>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.12.1/src/lib.rs:185:1
[INFO] [stderr]                |
[INFO] [stderr]            185 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `slice` exists for mutable reference `&mut Lexer<'_, TokenType>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lexer.rs:88:15
[INFO] [stderr]                |
[INFO] [stderr]             88 |     match lex.slice() {
[INFO] [stderr]                |               ^^^^^ method cannot be called on `&mut Lexer<'_, TokenType>` due to unsatisfied trait bounds
[INFO] [stderr]            ...
[INFO] [stderr]            112 | pub enum TokenType {
[INFO] [stderr]                | ------------------ doesn't satisfy `TokenType: Logos<'_>`
[INFO] [stderr]                |
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `TokenType: Logos<'_>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.12.1/src/lib.rs:185:1
[INFO] [stderr]                |
[INFO] [stderr]            185 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `slice` exists for mutable reference `&mut Lexer<'_, TokenType>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lexer.rs:99:23
[INFO] [stderr]                |
[INFO] [stderr]             99 |     let mut num = lex.slice();
[INFO] [stderr]                |                       ^^^^^ method cannot be called on `&mut Lexer<'_, TokenType>` due to unsatisfied trait bounds
[INFO] [stderr]            ...
[INFO] [stderr]            112 | pub enum TokenType {
[INFO] [stderr]                | ------------------ doesn't satisfy `TokenType: Logos<'_>`
[INFO] [stderr]                |
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `TokenType: Logos<'_>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.12.1/src/lib.rs:185:1
[INFO] [stderr]                |
[INFO] [stderr]            185 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `TokenType` doesn't implement `Debug`
[INFO] [stderr]               --> src/lexer.rs:277:5
[INFO] [stderr]                |
[INFO] [stderr]            275 | #[derive(Debug, Clone)]
[INFO] [stderr]                |          ----- in this derive macro expansion
[INFO] [stderr]            276 | pub struct Token {
[INFO] [stderr]            277 |     pub typ: TokenType,
[INFO] [stderr]                |     ^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `TokenType`
[INFO] [stderr]                |
[INFO] [stderr]            help: consider annotating `TokenType` with `#[derive(Debug)]`
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Debug)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `TokenType: Clone` is not satisfied
[INFO] [stderr]               --> src/lexer.rs:277:5
[INFO] [stderr]                |
[INFO] [stderr]            275 | #[derive(Debug, Clone)]
[INFO] [stderr]                |                 ----- in this derive macro expansion
[INFO] [stderr]            276 | pub struct Token {
[INFO] [stderr]            277 |     pub typ: TokenType,
[INFO] [stderr]                |     ^^^^^^^^^^^^^^^^^^ the trait `Clone` is not implemented for `TokenType`
[INFO] [stderr]                |
[INFO] [stderr]            help: consider annotating `TokenType` with `#[derive(Clone)]`
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Clone)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `TokenType`
[INFO] [stderr]               --> src/lexer.rs:323:20
[INFO] [stderr]                |
[INFO] [stderr]            323 |         if tok.typ == TokenType::Error {
[INFO] [stderr]                |            ------- ^^ ---------------- TokenType
[INFO] [stderr]                |            |
[INFO] [stderr]                |            TokenType
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `TokenType`
[INFO] [stderr]               --> src/lexer.rs:112:1
[INFO] [stderr]                |
[INFO] [stderr]            112 | pub enum TokenType {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `TokenType` with `#[derive(PartialEq)]`
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(PartialEq)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: no variant, associated function, or constant named `lexer` found for enum `TokenType` in the current scope
[INFO] [stderr]               --> src/lexer.rs:364:26
[INFO] [stderr]                |
[INFO] [stderr]            112 | pub enum TokenType {
[INFO] [stderr]                | ------------------ variant, associated function, or constant `lexer` not found for this enum
[INFO] [stderr]            ...
[INFO] [stderr]            364 |     let lex = TokenType::lexer(code);
[INFO] [stderr]                |                          ^^^^^ variant, associated function, or constant not found in `TokenType`
[INFO] [stderr]                |
[INFO] [stderr]                = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]                = note: the following trait defines an item `lexer`, perhaps you need to implement it:
[INFO] [stderr]                        candidate #1: `Logos`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `TokenType` doesn't implement `Debug`
[INFO] [stderr]               --> src/parser.rs:247:83
[INFO] [stderr]                |
[INFO] [stderr]            247 |         typ: binop_token_to_node!(op, panic!("apply_op for {:?} not implemented", op),
[INFO] [stderr]                |                                                            ----                   ^^ `TokenType` cannot be formatted using `{:?}` because it doesn't implement `Debug`
[INFO] [stderr]                |                                                            |
[INFO] [stderr]                |                                                            required by this formatting parameter
[INFO] [stderr]                |
[INFO] [stderr]                = help: the trait `Debug` is not implemented for `TokenType`
[INFO] [stderr]            help: consider annotating `TokenType` with `#[derive(Debug)]`
[INFO] [stderr]               --> src/lexer.rs:112:1
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Debug)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `TokenType` doesn't implement `Debug`
[INFO] [stderr]               --> src/parser.rs:277:57
[INFO] [stderr]                |
[INFO] [stderr]            277 |     let mut msg = format!("Expected: {:?}, found NONE", typs);
[INFO] [stderr]                |                                      ----               ^^^^ `TokenType` cannot be formatted using `{:?}` because it doesn't implement `Debug`
[INFO] [stderr]                |                                      |
[INFO] [stderr]                |                                      required by this formatting parameter
[INFO] [stderr]                |
[INFO] [stderr]                = help: the trait `Debug` is not implemented for `TokenType`
[INFO] [stderr]            help: the following other types implement trait `Debug`
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/fmt/mod.rs:3130:0
[INFO] [stderr]                |
[INFO] [stderr]                = note: `[T]`
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/array/mod.rs:355:0
[INFO] [stderr]                |
[INFO] [stderr]                = note: `[T; N]`
[INFO] [stderr]                = note: required for `[TokenType]` to implement `Debug`
[INFO] [stderr]                = note: 1 redundant requirement hidden
[INFO] [stderr]                = note: required for `&[TokenType]` to implement `Debug`
[INFO] [stderr]            help: consider annotating `TokenType` with `#[derive(Debug)]`
[INFO] [stderr]               --> src/lexer.rs:112:1
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Debug)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `&TokenType`
[INFO] [stderr]               --> src/parser.rs:281:25
[INFO] [stderr]                |
[INFO] [stderr]            281 |             if &tok.typ == typ {
[INFO] [stderr]                |                -------- ^^ --- &TokenType
[INFO] [stderr]                |                |
[INFO] [stderr]                |                &TokenType
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `TokenType`
[INFO] [stderr]               --> src/lexer.rs:112:1
[INFO] [stderr]                |
[INFO] [stderr]            112 | pub enum TokenType {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `TokenType` with `#[derive(PartialEq)]`
[INFO] [stderr]               --> src/lexer.rs:112:1
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(PartialEq)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `TokenType` doesn't implement `Debug`
[INFO] [stderr]               --> src/parser.rs:287:53
[INFO] [stderr]                |
[INFO] [stderr]            287 |         msg = format!("Expected: {:?}, found {:?}", typs, tok.typ);
[INFO] [stderr]                |                                  ----               ^^^^ `TokenType` cannot be formatted using `{:?}` because it doesn't implement `Debug`
[INFO] [stderr]                |                                  |
[INFO] [stderr]                |                                  required by this formatting parameter
[INFO] [stderr]                |
[INFO] [stderr]                = help: the trait `Debug` is not implemented for `TokenType`
[INFO] [stderr]            help: the following other types implement trait `Debug`
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/fmt/mod.rs:3130:0
[INFO] [stderr]                |
[INFO] [stderr]                = note: `[T]`
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/array/mod.rs:355:0
[INFO] [stderr]                |
[INFO] [stderr]                = note: `[T; N]`
[INFO] [stderr]                = note: required for `[TokenType]` to implement `Debug`
[INFO] [stderr]                = note: 1 redundant requirement hidden
[INFO] [stderr]                = note: required for `&[TokenType]` to implement `Debug`
[INFO] [stderr]            help: consider annotating `TokenType` with `#[derive(Debug)]`
[INFO] [stderr]               --> src/lexer.rs:112:1
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Debug)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `TokenType` doesn't implement `Debug`
[INFO] [stderr]               --> src/parser.rs:298:57
[INFO] [stderr]                |
[INFO] [stderr]            298 |     let mut msg = format!("Expected: {:?}, found NONE", typs);
[INFO] [stderr]                |                                      ----               ^^^^ `TokenType` cannot be formatted using `{:?}` because it doesn't implement `Debug`
[INFO] [stderr]                |                                      |
[INFO] [stderr]                |                                      required by this formatting parameter
[INFO] [stderr]                |
[INFO] [stderr]                = help: the trait `Debug` is not implemented for `TokenType`
[INFO] [stderr]            help: the following other types implement trait `Debug`
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/fmt/mod.rs:3130:0
[INFO] [stderr]                |
[INFO] [stderr]                = note: `[T]`
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/array/mod.rs:355:0
[INFO] [stderr]                |
[INFO] [stderr]                = note: `[T; N]`
[INFO] [stderr]                = note: required for `[TokenType]` to implement `Debug`
[INFO] [stderr]                = note: 1 redundant requirement hidden
[INFO] [stderr]                = note: required for `&[TokenType]` to implement `Debug`
[INFO] [stderr]            help: consider annotating `TokenType` with `#[derive(Debug)]`
[INFO] [stderr]               --> src/lexer.rs:112:1
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Debug)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `&TokenType`
[INFO] [stderr]               --> src/parser.rs:302:25
[INFO] [stderr]                |
[INFO] [stderr]            302 |             if &tok.typ == typ {
[INFO] [stderr]                |                -------- ^^ --- &TokenType
[INFO] [stderr]                |                |
[INFO] [stderr]                |                &TokenType
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `TokenType`
[INFO] [stderr]               --> src/lexer.rs:112:1
[INFO] [stderr]                |
[INFO] [stderr]            112 | pub enum TokenType {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `TokenType` with `#[derive(PartialEq)]`
[INFO] [stderr]               --> src/lexer.rs:112:1
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(PartialEq)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `TokenType` doesn't implement `Debug`
[INFO] [stderr]               --> src/parser.rs:308:53
[INFO] [stderr]                |
[INFO] [stderr]            308 |         msg = format!("Expected: {:?}, found {:?}", typs, tok.typ);
[INFO] [stderr]                |                                  ----               ^^^^ `TokenType` cannot be formatted using `{:?}` because it doesn't implement `Debug`
[INFO] [stderr]                |                                  |
[INFO] [stderr]                |                                  required by this formatting parameter
[INFO] [stderr]                |
[INFO] [stderr]                = help: the trait `Debug` is not implemented for `TokenType`
[INFO] [stderr]            help: the following other types implement trait `Debug`
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/fmt/mod.rs:3130:0
[INFO] [stderr]                |
[INFO] [stderr]                = note: `[T]`
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/array/mod.rs:355:0
[INFO] [stderr]                |
[INFO] [stderr]                = note: `[T; N]`
[INFO] [stderr]                = note: required for `[TokenType]` to implement `Debug`
[INFO] [stderr]                = note: 1 redundant requirement hidden
[INFO] [stderr]                = note: required for `&[TokenType]` to implement `Debug`
[INFO] [stderr]            help: consider annotating `TokenType` with `#[derive(Debug)]`
[INFO] [stderr]               --> src/lexer.rs:112:1
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Debug)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `!=` cannot be applied to type `TokenType`
[INFO] [stderr]               --> src/parser.rs:336:61
[INFO] [stderr]                |
[INFO] [stderr]            336 |     while iter.peek().is_some() && iter.peek().unwrap().typ != TokenType::RBrace {
[INFO] [stderr]                |                                    ------------------------ ^^ ----------------- TokenType
[INFO] [stderr]                |                                    |
[INFO] [stderr]                |                                    TokenType
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `TokenType`
[INFO] [stderr]               --> src/lexer.rs:112:1
[INFO] [stderr]                |
[INFO] [stderr]            112 | pub enum TokenType {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `TokenType` with `#[derive(PartialEq)]`
[INFO] [stderr]               --> src/lexer.rs:112:1
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(PartialEq)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `TokenType` doesn't implement `Debug`
[INFO] [stderr]               --> src/parser.rs:368:79
[INFO] [stderr]                |
[INFO] [stderr]            368 |         binop_token_to_node!(tok.typ, panic!("expected literal, found: {:?}", tok.typ),
[INFO] [stderr]                |                                                                        ----   ^^^^^^^ `TokenType` cannot be formatted using `{:?}` because it doesn't implement `Debug`
[INFO] [stderr]                |                                                                        |
[INFO] [stderr]                |                                                                        required by this formatting parameter
[INFO] [stderr]                |
[INFO] [stderr]                = help: the trait `Debug` is not implemented for `TokenType`
[INFO] [stderr]            help: consider annotating `TokenType` with `#[derive(Debug)]`
[INFO] [stderr]               --> src/lexer.rs:112:1
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Debug)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `TokenType` doesn't implement `Debug`
[INFO] [stderr]               --> src/parser.rs:560:67
[INFO] [stderr]                |
[INFO] [stderr]            560 |                     &format!("Expected expression, found [{:?}]", tok.typ),
[INFO] [stderr]                |                                                           ----    ^^^^^^^ `TokenType` cannot be formatted using `{:?}` because it doesn't implement `Debug`
[INFO] [stderr]                |                                                           |
[INFO] [stderr]                |                                                           required by this formatting parameter
[INFO] [stderr]                |
[INFO] [stderr]                = help: the trait `Debug` is not implemented for `TokenType`
[INFO] [stderr]            help: consider annotating `TokenType` with `#[derive(Debug)]`
[INFO] [stderr]               --> src/lexer.rs:112:1
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Debug)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `TokenType`
[INFO] [stderr]               --> src/parser.rs:580:33
[INFO] [stderr]                |
[INFO] [stderr]            580 |     if iter.peek().unwrap().typ == TokenType::Eof {
[INFO] [stderr]                |        ------------------------ ^^ -------------- TokenType
[INFO] [stderr]                |        |
[INFO] [stderr]                |        TokenType
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `TokenType`
[INFO] [stderr]               --> src/lexer.rs:112:1
[INFO] [stderr]                |
[INFO] [stderr]            112 | pub enum TokenType {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `TokenType` with `#[derive(PartialEq)]`
[INFO] [stderr]               --> src/lexer.rs:112:1
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(PartialEq)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: no method named `clone` found for enum `TokenType` in the current scope
[INFO] [stderr]               --> src/parser.rs:584:50
[INFO] [stderr]                |
[INFO] [stderr]            584 |     let mut lookahead = iter.peek().unwrap().typ.clone();
[INFO] [stderr]                |                                                  ^^^^^ method not found in `TokenType`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lexer.rs:112:1
[INFO] [stderr]                |
[INFO] [stderr]            112 | pub enum TokenType {
[INFO] [stderr]                | ------------------ method `clone` not found for this enum
[INFO] [stderr]                |
[INFO] [stderr]                = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]                = note: the following trait defines an item `clone`, perhaps you need to implement it:
[INFO] [stderr]                        candidate #1: `Clone`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: no method named `clone` found for enum `TokenType` in the current scope
[INFO] [stderr]               --> src/parser.rs:600:46
[INFO] [stderr]                |
[INFO] [stderr]            600 |         lookahead = iter.peek().unwrap().typ.clone();
[INFO] [stderr]                |                                              ^^^^^ method not found in `TokenType`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lexer.rs:112:1
[INFO] [stderr]                |
[INFO] [stderr]            112 | pub enum TokenType {
[INFO] [stderr]                | ------------------ method `clone` not found for this enum
[INFO] [stderr]                |
[INFO] [stderr]                = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]                = note: the following trait defines an item `clone`, perhaps you need to implement it:
[INFO] [stderr]                        candidate #1: `Clone`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: no method named `clone` found for enum `TokenType` in the current scope
[INFO] [stderr]               --> src/parser.rs:607:50
[INFO] [stderr]                |
[INFO] [stderr]            607 |             lookahead = iter.peek().unwrap().typ.clone();
[INFO] [stderr]                |                                                  ^^^^^ method not found in `TokenType`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lexer.rs:112:1
[INFO] [stderr]                |
[INFO] [stderr]            112 | pub enum TokenType {
[INFO] [stderr]                | ------------------ method `clone` not found for this enum
[INFO] [stderr]                |
[INFO] [stderr]                = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]                = note: the following trait defines an item `clone`, perhaps you need to implement it:
[INFO] [stderr]                        candidate #1: `Clone`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: aborting due to 88 previous errors
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            Some errors have detailed explanations: E0277, E0369, E0599.
[INFO] [stderr]            
[INFO] [stderr]            For more information about an error, try `rustc --explain E0277`.
[INFO] [stderr] help: to report this as a bug, open an issue at https://github.com/rust-lang/rust/issues, quoting the full output of this command
[INFO] [stderr] help: to possibly apply more fixes, pass in the `--broken-code` flag
[INFO] [stderr] note: original diagnostics will follow:
[INFO] [stderr] error: errors present after applying fixes to crate `chronos`
[INFO] [stderr]  --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/macros/mod.rs
[INFO] [stderr]  ::: src/interpreter.rs
[INFO] [stderr]  ::: src/lexer.rs
[INFO] [stderr]  ::: src/parser.rs
[INFO] [stderr]   = cause: error: expected one of `(`, `,`, `::`, or `=`, found `+`
[INFO] [stderr]               --> src/lexer.rs:111:16
[INFO] [stderr]                |
[INFO] [stderr]            111 | #[derive(Logos + use<'s>, Debug, PartialEq, Clone)]
[INFO] [stderr]                |                ^ expected one of `(`, `,`, `::`, or `=`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `error` in this scope
[INFO] [stderr]               --> src/lexer.rs:252:7
[INFO] [stderr]                |
[INFO] [stderr]            252 |     #[error(|lex| lex.slice().parse())]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `error` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer.rs:249:7
[INFO] [stderr]                |
[INFO] [stderr]            249 |     #[regex(r"\t")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer.rs:247:7
[INFO] [stderr]                |
[INFO] [stderr]            247 |     #[regex("[ ]+")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer.rs:244:7
[INFO] [stderr]                |
[INFO] [stderr]            244 |     #[regex(r"\n")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer.rs:242:7
[INFO] [stderr]                |
[INFO] [stderr]            242 |     #[regex("//.*")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:239:7
[INFO] [stderr]                |
[INFO] [stderr]            239 |     #[token("void")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:237:7
[INFO] [stderr]                |
[INFO] [stderr]            237 |     #[token("...")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:235:7
[INFO] [stderr]                |
[INFO] [stderr]            235 |     #[token("this")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:233:7
[INFO] [stderr]                |
[INFO] [stderr]            233 |     #[token("return")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:231:7
[INFO] [stderr]                |
[INFO] [stderr]            231 |     #[token("const")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer.rs:228:7
[INFO] [stderr]                |
[INFO] [stderr]            228 |     #[regex("[_a-zA-Z][_0-9a-zA-Z]*", |lex| lex.slice().parse())]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:225:7
[INFO] [stderr]                |
[INFO] [stderr]            225 |     #[token("=")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:223:7
[INFO] [stderr]                |
[INFO] [stderr]            223 |     #[token("<=")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:221:7
[INFO] [stderr]                |
[INFO] [stderr]            221 |     #[token(">=")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:219:7
[INFO] [stderr]                |
[INFO] [stderr]            219 |     #[token("<")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:217:7
[INFO] [stderr]                |
[INFO] [stderr]            217 |     #[token(">")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:215:7
[INFO] [stderr]                |
[INFO] [stderr]            215 |     #[token("!=")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:213:7
[INFO] [stderr]                |
[INFO] [stderr]            213 |     #[token("==")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:210:7
[INFO] [stderr]                |
[INFO] [stderr]            210 |     #[token("/=")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:208:7
[INFO] [stderr]                |
[INFO] [stderr]            208 |     #[token("*=")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:206:7
[INFO] [stderr]                |
[INFO] [stderr]            206 |     #[token("-=")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:204:7
[INFO] [stderr]                |
[INFO] [stderr]            204 |     #[token("+=")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:201:7
[INFO] [stderr]                |
[INFO] [stderr]            201 |     #[token("!")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:199:7
[INFO] [stderr]                |
[INFO] [stderr]            199 |     #[token("/")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:197:7
[INFO] [stderr]                |
[INFO] [stderr]            197 |     #[token("*")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:195:7
[INFO] [stderr]                |
[INFO] [stderr]            195 |     #[token("--")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:193:7
[INFO] [stderr]                |
[INFO] [stderr]            193 |     #[token("-")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:191:7
[INFO] [stderr]                |
[INFO] [stderr]            191 |     #[token("++")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:189:7
[INFO] [stderr]                |
[INFO] [stderr]            189 |     #[token("+")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:186:7
[INFO] [stderr]                |
[INFO] [stderr]            186 |     #[token("\"", parse_string)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer.rs:183:7
[INFO] [stderr]                |
[INFO] [stderr]            183 |     #[regex(r"(([0-9]+)(\.[0-9]+))f64", |lex| parse_lit::<f64>(lex, "f64"))]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer.rs:179:7
[INFO] [stderr]                |
[INFO] [stderr]            179 |     #[regex(r"(([0-9]+)(\.[0-9]+))", |lex| lex.slice().parse())]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer.rs:180:7
[INFO] [stderr]                |
[INFO] [stderr]            180 |     #[regex(r"(([0-9]+)(\.[0-9]+))f32", |lex| parse_lit::<f32>(lex, "f32"))]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer.rs:176:7
[INFO] [stderr]                |
[INFO] [stderr]            176 |     #[regex(r"[0-9]+u128", |lex| parse_lit::<u128>(lex, "u128"))]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer.rs:174:7
[INFO] [stderr]                |
[INFO] [stderr]            174 |     #[regex(r"[0-9]+i128", |lex| parse_lit::<i128>(lex, "i128"))]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer.rs:171:7
[INFO] [stderr]                |
[INFO] [stderr]            171 |     #[regex(r"[0-9]+usize", |lex| parse_lit::<usize>(lex, "usize"))]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer.rs:169:7
[INFO] [stderr]                |
[INFO] [stderr]            169 |     #[regex(r"[0-9]+isize", |lex| parse_lit::<isize>(lex, "isize"))]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer.rs:166:7
[INFO] [stderr]                |
[INFO] [stderr]            166 |     #[regex(r"[0-9]+u64", |lex| parse_lit::<u64>(lex, "u64"))]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer.rs:164:7
[INFO] [stderr]                |
[INFO] [stderr]            164 |     #[regex(r"[0-9]+i64", |lex| parse_lit::<i64>(lex, "i64"))]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer.rs:161:7
[INFO] [stderr]                |
[INFO] [stderr]            161 |     #[regex(r"[0-9]+u32", |lex| parse_lit::<u32>(lex, "u32"))]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer.rs:158:7
[INFO] [stderr]                |
[INFO] [stderr]            158 |     #[regex(r"[0-9]+", |lex| lex.slice().parse())]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer.rs:159:7
[INFO] [stderr]                |
[INFO] [stderr]            159 |     #[regex(r"[0-9]+i32", |lex| parse_lit::<i32>(lex, "i32"))]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer.rs:155:7
[INFO] [stderr]                |
[INFO] [stderr]            155 |     #[regex(r"[0-9]+u16", |lex| parse_lit::<u16>(lex, "u16"))]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer.rs:153:7
[INFO] [stderr]                |
[INFO] [stderr]            153 |     #[regex(r"[0-9]+i16", |lex| parse_lit::<i16>(lex, "i16"))]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer.rs:150:7
[INFO] [stderr]                |
[INFO] [stderr]            150 |     #[regex(r"[0-9]+u8", |lex| parse_lit::<u8>(lex, "u8"))]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `regex` in this scope
[INFO] [stderr]               --> src/lexer.rs:148:7
[INFO] [stderr]                |
[INFO] [stderr]            148 |     #[regex(r"[0-9]+i8", |lex| parse_lit::<i8>(lex, "i8"))]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `regex` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:144:7
[INFO] [stderr]                |
[INFO] [stderr]            144 |     #[token("false", parse_bool)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:145:7
[INFO] [stderr]                |
[INFO] [stderr]            145 |     #[token("true", parse_bool)]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:141:7
[INFO] [stderr]                |
[INFO] [stderr]            141 |     #[token("||")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:139:7
[INFO] [stderr]                |
[INFO] [stderr]            139 |     #[token("&&")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:136:7
[INFO] [stderr]                |
[INFO] [stderr]            136 |     #[token("|")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:134:7
[INFO] [stderr]                |
[INFO] [stderr]            134 |     #[token("&")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:132:7
[INFO] [stderr]                |
[INFO] [stderr]            132 |     #[token(":")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:130:7
[INFO] [stderr]                |
[INFO] [stderr]            130 |     #[token(";")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:128:7
[INFO] [stderr]                |
[INFO] [stderr]            128 |     #[token(",")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:126:7
[INFO] [stderr]                |
[INFO] [stderr]            126 |     #[token(".")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:124:7
[INFO] [stderr]                |
[INFO] [stderr]            124 |     #[token("->")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:121:7
[INFO] [stderr]                |
[INFO] [stderr]            121 |     #[token(")")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:119:7
[INFO] [stderr]                |
[INFO] [stderr]            119 |     #[token("(")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:117:7
[INFO] [stderr]                |
[INFO] [stderr]            117 |     #[token("}")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: cannot find attribute `token` in this scope
[INFO] [stderr]               --> src/lexer.rs:115:7
[INFO] [stderr]                |
[INFO] [stderr]            115 |     #[token("{")]
[INFO] [stderr]                |       ^^^^^
[INFO] [stderr]                |
[INFO] [stderr]            help: `token` is an attribute that can be used by the derive macro `Logos`, you might be missing a `derive` attribute
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Logos)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `TokenType: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lexer.rs:57:27
[INFO] [stderr]                |
[INFO] [stderr]             57 | fn parse_string(lex: &mut Lexer<TokenType>) -> Option<String> {
[INFO] [stderr]                |                           ^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `TokenType`
[INFO] [stderr]               --> src/lexer.rs:112:1
[INFO] [stderr]                |
[INFO] [stderr]            112 | pub enum TokenType {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            note: required by a bound in `Lexer`
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.12.1/src/lexer.rs:13:34
[INFO] [stderr]                |
[INFO] [stderr]             13 | pub struct Lexer<'source, Token: Logos<'source>> {
[INFO] [stderr]                |                                  ^^^^^^^^^^^^^^ required by this bound in `Lexer`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `TokenType: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lexer.rs:87:25
[INFO] [stderr]                |
[INFO] [stderr]             87 | fn parse_bool(lex: &mut Lexer<TokenType>) -> bool {
[INFO] [stderr]                |                         ^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `TokenType`
[INFO] [stderr]               --> src/lexer.rs:112:1
[INFO] [stderr]                |
[INFO] [stderr]            112 | pub enum TokenType {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            note: required by a bound in `Lexer`
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.12.1/src/lexer.rs:13:34
[INFO] [stderr]                |
[INFO] [stderr]             13 | pub struct Lexer<'source, Token: Logos<'source>> {
[INFO] [stderr]                |                                  ^^^^^^^^^^^^^^ required by this bound in `Lexer`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `TokenType: Logos<'_>` is not satisfied
[INFO] [stderr]               --> src/lexer.rs:95:27
[INFO] [stderr]                |
[INFO] [stderr]             95 | fn parse_lit<T>(lex: &mut Lexer<TokenType>, lit: &str) -> Option<T>
[INFO] [stderr]                |                           ^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stderr]                |
[INFO] [stderr]            help: the trait `Logos<'_>` is not implemented for `TokenType`
[INFO] [stderr]               --> src/lexer.rs:112:1
[INFO] [stderr]                |
[INFO] [stderr]            112 | pub enum TokenType {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            note: required by a bound in `Lexer`
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.12.1/src/lexer.rs:13:34
[INFO] [stderr]                |
[INFO] [stderr]             13 | pub struct Lexer<'source, Token: Logos<'source>> {
[INFO] [stderr]                |                                  ^^^^^^^^^^^^^^ required by this bound in `Lexer`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `TokenType` doesn't implement `Debug`
[INFO] [stderr]               --> src/interpreter.rs:74:65
[INFO] [stderr]                |
[INFO] [stderr]             74 |         _ => panic!("expected add, sub, mul, div, found: {:?}", op),
[INFO] [stderr]                |                                                          ----   ^^ `TokenType` cannot be formatted using `{:?}` because it doesn't implement `Debug`
[INFO] [stderr]                |                                                          |
[INFO] [stderr]                |                                                          required by this formatting parameter
[INFO] [stderr]                |
[INFO] [stderr]                = help: the trait `Debug` is not implemented for `TokenType`
[INFO] [stderr]            help: consider annotating `TokenType` with `#[derive(Debug)]`
[INFO] [stderr]               --> src/lexer.rs:112:1
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Debug)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `remainder` exists for mutable reference `&mut Lexer<'_, TokenType>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lexer.rs:58:21
[INFO] [stderr]                |
[INFO] [stderr]             58 |     let chars = lex.remainder().chars();
[INFO] [stderr]                |                     ^^^^^^^^^ method cannot be called on `&mut Lexer<'_, TokenType>` due to unsatisfied trait bounds
[INFO] [stderr]            ...
[INFO] [stderr]            112 | pub enum TokenType {
[INFO] [stderr]                | ------------------ doesn't satisfy `TokenType: Logos<'_>`
[INFO] [stderr]                |
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `TokenType: Logos<'_>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.12.1/src/lib.rs:185:1
[INFO] [stderr]                |
[INFO] [stderr]            185 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `bump` exists for mutable reference `&mut Lexer<'_, TokenType>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lexer.rs:83:9
[INFO] [stderr]                |
[INFO] [stderr]             83 |     lex.bump(len);
[INFO] [stderr]                |         ^^^^ method cannot be called on `&mut Lexer<'_, TokenType>` due to unsatisfied trait bounds
[INFO] [stderr]            ...
[INFO] [stderr]            112 | pub enum TokenType {
[INFO] [stderr]                | ------------------ doesn't satisfy `TokenType: Logos<'_>`
[INFO] [stderr]                |
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `TokenType: Logos<'_>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.12.1/src/lib.rs:185:1
[INFO] [stderr]                |
[INFO] [stderr]            185 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `slice` exists for mutable reference `&mut Lexer<'_, TokenType>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lexer.rs:88:15
[INFO] [stderr]                |
[INFO] [stderr]             88 |     match lex.slice() {
[INFO] [stderr]                |               ^^^^^ method cannot be called on `&mut Lexer<'_, TokenType>` due to unsatisfied trait bounds
[INFO] [stderr]            ...
[INFO] [stderr]            112 | pub enum TokenType {
[INFO] [stderr]                | ------------------ doesn't satisfy `TokenType: Logos<'_>`
[INFO] [stderr]                |
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `TokenType: Logos<'_>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.12.1/src/lib.rs:185:1
[INFO] [stderr]                |
[INFO] [stderr]            185 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: the method `slice` exists for mutable reference `&mut Lexer<'_, TokenType>`, but its trait bounds were not satisfied
[INFO] [stderr]               --> src/lexer.rs:99:23
[INFO] [stderr]                |
[INFO] [stderr]             99 |     let mut num = lex.slice();
[INFO] [stderr]                |                       ^^^^^ method cannot be called on `&mut Lexer<'_, TokenType>` due to unsatisfied trait bounds
[INFO] [stderr]            ...
[INFO] [stderr]            112 | pub enum TokenType {
[INFO] [stderr]                | ------------------ doesn't satisfy `TokenType: Logos<'_>`
[INFO] [stderr]                |
[INFO] [stderr]                = note: the following trait bounds were not satisfied:
[INFO] [stderr]                        `TokenType: Logos<'_>`
[INFO] [stderr]            note: the trait `Logos` must be implemented
[INFO] [stderr]               --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/logos-0.12.1/src/lib.rs:185:1
[INFO] [stderr]                |
[INFO] [stderr]            185 | pub trait Logos<'source>: Sized {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `TokenType` doesn't implement `Debug`
[INFO] [stderr]               --> src/lexer.rs:277:5
[INFO] [stderr]                |
[INFO] [stderr]            275 | #[derive(Debug, Clone)]
[INFO] [stderr]                |          ----- in this derive macro expansion
[INFO] [stderr]            276 | pub struct Token {
[INFO] [stderr]            277 |     pub typ: TokenType,
[INFO] [stderr]                |     ^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `TokenType`
[INFO] [stderr]                |
[INFO] [stderr]            help: consider annotating `TokenType` with `#[derive(Debug)]`
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Debug)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: the trait bound `TokenType: Clone` is not satisfied
[INFO] [stderr]               --> src/lexer.rs:277:5
[INFO] [stderr]                |
[INFO] [stderr]            275 | #[derive(Debug, Clone)]
[INFO] [stderr]                |                 ----- in this derive macro expansion
[INFO] [stderr]            276 | pub struct Token {
[INFO] [stderr]            277 |     pub typ: TokenType,
[INFO] [stderr]                |     ^^^^^^^^^^^^^^^^^^ the trait `Clone` is not implemented for `TokenType`
[INFO] [stderr]                |
[INFO] [stderr]            help: consider annotating `TokenType` with `#[derive(Clone)]`
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Clone)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `TokenType`
[INFO] [stderr]               --> src/lexer.rs:323:20
[INFO] [stderr]                |
[INFO] [stderr]            323 |         if tok.typ == TokenType::Error {
[INFO] [stderr]                |            ------- ^^ ---------------- TokenType
[INFO] [stderr]                |            |
[INFO] [stderr]                |            TokenType
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `TokenType`
[INFO] [stderr]               --> src/lexer.rs:112:1
[INFO] [stderr]                |
[INFO] [stderr]            112 | pub enum TokenType {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `TokenType` with `#[derive(PartialEq)]`
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(PartialEq)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: no variant, associated function, or constant named `lexer` found for enum `TokenType` in the current scope
[INFO] [stderr]               --> src/lexer.rs:364:26
[INFO] [stderr]                |
[INFO] [stderr]            112 | pub enum TokenType {
[INFO] [stderr]                | ------------------ variant, associated function, or constant `lexer` not found for this enum
[INFO] [stderr]            ...
[INFO] [stderr]            364 |     let lex = TokenType::lexer(code);
[INFO] [stderr]                |                          ^^^^^ variant, associated function, or constant not found in `TokenType`
[INFO] [stderr]                |
[INFO] [stderr]                = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]                = note: the following trait defines an item `lexer`, perhaps you need to implement it:
[INFO] [stderr]                        candidate #1: `Logos`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `TokenType`
[INFO] [stderr]               --> src/lexer.rs:445:5
[INFO] [stderr]                |
[INFO] [stderr]            445 |     assert_eq!(lex_tokens("23i8")[0].typ, I8Lit(23));
[INFO] [stderr]                |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                |     |
[INFO] [stderr]                |     TokenType
[INFO] [stderr]                |     TokenType
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `TokenType`
[INFO] [stderr]               --> src/lexer.rs:112:1
[INFO] [stderr]                |
[INFO] [stderr]            112 | pub enum TokenType {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `TokenType` with `#[derive(PartialEq)]`
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(PartialEq)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `TokenType` doesn't implement `Debug`
[INFO] [stderr]               --> src/lexer.rs:445:5
[INFO] [stderr]                |
[INFO] [stderr]            445 |     assert_eq!(lex_tokens("23i8")[0].typ, I8Lit(23));
[INFO] [stderr]                |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `TokenType`
[INFO] [stderr]                |
[INFO] [stderr]            help: consider annotating `TokenType` with `#[derive(Debug)]`
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Debug)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `TokenType` doesn't implement `Debug`
[INFO] [stderr]               --> src/lexer.rs:445:5
[INFO] [stderr]                |
[INFO] [stderr]            445 |     assert_eq!(lex_tokens("23i8")[0].typ, I8Lit(23));
[INFO] [stderr]                |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `TokenType`
[INFO] [stderr]                |
[INFO] [stderr]            help: consider annotating `TokenType` with `#[derive(Debug)]`
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Debug)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `TokenType`
[INFO] [stderr]               --> src/lexer.rs:446:5
[INFO] [stderr]                |
[INFO] [stderr]            446 |     assert_eq!(lex_tokens("2i16")[0].typ, I16Lit(2));
[INFO] [stderr]                |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                |     |
[INFO] [stderr]                |     TokenType
[INFO] [stderr]                |     TokenType
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `TokenType`
[INFO] [stderr]               --> src/lexer.rs:112:1
[INFO] [stderr]                |
[INFO] [stderr]            112 | pub enum TokenType {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `TokenType` with `#[derive(PartialEq)]`
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(PartialEq)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `TokenType` doesn't implement `Debug`
[INFO] [stderr]               --> src/lexer.rs:446:5
[INFO] [stderr]                |
[INFO] [stderr]            446 |     assert_eq!(lex_tokens("2i16")[0].typ, I16Lit(2));
[INFO] [stderr]                |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `TokenType`
[INFO] [stderr]                |
[INFO] [stderr]            help: consider annotating `TokenType` with `#[derive(Debug)]`
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Debug)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `TokenType` doesn't implement `Debug`
[INFO] [stderr]               --> src/lexer.rs:446:5
[INFO] [stderr]                |
[INFO] [stderr]            446 |     assert_eq!(lex_tokens("2i16")[0].typ, I16Lit(2));
[INFO] [stderr]                |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `TokenType`
[INFO] [stderr]                |
[INFO] [stderr]            help: consider annotating `TokenType` with `#[derive(Debug)]`
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Debug)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `TokenType`
[INFO] [stderr]               --> src/lexer.rs:447:5
[INFO] [stderr]                |
[INFO] [stderr]            447 |     assert_eq!(lex_tokens("123i32")[0].typ, I32Lit(123));
[INFO] [stderr]                |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                |     |
[INFO] [stderr]                |     TokenType
[INFO] [stderr]                |     TokenType
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `TokenType`
[INFO] [stderr]               --> src/lexer.rs:112:1
[INFO] [stderr]                |
[INFO] [stderr]            112 | pub enum TokenType {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `TokenType` with `#[derive(PartialEq)]`
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(PartialEq)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `TokenType` doesn't implement `Debug`
[INFO] [stderr]               --> src/lexer.rs:447:5
[INFO] [stderr]                |
[INFO] [stderr]            447 |     assert_eq!(lex_tokens("123i32")[0].typ, I32Lit(123));
[INFO] [stderr]                |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `TokenType`
[INFO] [stderr]                |
[INFO] [stderr]            help: consider annotating `TokenType` with `#[derive(Debug)]`
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Debug)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `TokenType` doesn't implement `Debug`
[INFO] [stderr]               --> src/lexer.rs:447:5
[INFO] [stderr]                |
[INFO] [stderr]            447 |     assert_eq!(lex_tokens("123i32")[0].typ, I32Lit(123));
[INFO] [stderr]                |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `TokenType`
[INFO] [stderr]                |
[INFO] [stderr]            help: consider annotating `TokenType` with `#[derive(Debug)]`
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Debug)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `TokenType`
[INFO] [stderr]               --> src/lexer.rs:448:5
[INFO] [stderr]                |
[INFO] [stderr]            448 |     assert_eq!(lex_tokens("321i64")[0].typ, I64Lit(321));
[INFO] [stderr]                |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                |     |
[INFO] [stderr]                |     TokenType
[INFO] [stderr]                |     TokenType
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `TokenType`
[INFO] [stderr]               --> src/lexer.rs:112:1
[INFO] [stderr]                |
[INFO] [stderr]            112 | pub enum TokenType {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `TokenType` with `#[derive(PartialEq)]`
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(PartialEq)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `TokenType` doesn't implement `Debug`
[INFO] [stderr]               --> src/lexer.rs:448:5
[INFO] [stderr]                |
[INFO] [stderr]            448 |     assert_eq!(lex_tokens("321i64")[0].typ, I64Lit(321));
[INFO] [stderr]                |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `TokenType`
[INFO] [stderr]                |
[INFO] [stderr]            help: consider annotating `TokenType` with `#[derive(Debug)]`
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Debug)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `TokenType` doesn't implement `Debug`
[INFO] [stderr]               --> src/lexer.rs:448:5
[INFO] [stderr]                |
[INFO] [stderr]            448 |     assert_eq!(lex_tokens("321i64")[0].typ, I64Lit(321));
[INFO] [stderr]                |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `TokenType`
[INFO] [stderr]                |
[INFO] [stderr]            help: consider annotating `TokenType` with `#[derive(Debug)]`
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Debug)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `TokenType`
[INFO] [stderr]               --> src/lexer.rs:449:5
[INFO] [stderr]                |
[INFO] [stderr]            449 |     assert_eq!(lex_tokens("321isize")[0].typ, ISizeLit(321));
[INFO] [stderr]                |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                |     |
[INFO] [stderr]                |     TokenType
[INFO] [stderr]                |     TokenType
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `TokenType`
[INFO] [stderr]               --> src/lexer.rs:112:1
[INFO] [stderr]                |
[INFO] [stderr]            112 | pub enum TokenType {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `TokenType` with `#[derive(PartialEq)]`
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(PartialEq)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `TokenType` doesn't implement `Debug`
[INFO] [stderr]               --> src/lexer.rs:449:5
[INFO] [stderr]                |
[INFO] [stderr]            449 |     assert_eq!(lex_tokens("321isize")[0].typ, ISizeLit(321));
[INFO] [stderr]                |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `TokenType`
[INFO] [stderr]                |
[INFO] [stderr]            help: consider annotating `TokenType` with `#[derive(Debug)]`
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Debug)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `TokenType` doesn't implement `Debug`
[INFO] [stderr]               --> src/lexer.rs:449:5
[INFO] [stderr]                |
[INFO] [stderr]            449 |     assert_eq!(lex_tokens("321isize")[0].typ, ISizeLit(321));
[INFO] [stderr]                |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `TokenType`
[INFO] [stderr]                |
[INFO] [stderr]            help: consider annotating `TokenType` with `#[derive(Debug)]`
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Debug)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `TokenType`
[INFO] [stderr]               --> src/lexer.rs:450:5
[INFO] [stderr]                |
[INFO] [stderr]            450 |     assert_eq!(lex_tokens("128i128")[0].typ, I128Lit(128));
[INFO] [stderr]                |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                |     |
[INFO] [stderr]                |     TokenType
[INFO] [stderr]                |     TokenType
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `TokenType`
[INFO] [stderr]               --> src/lexer.rs:112:1
[INFO] [stderr]                |
[INFO] [stderr]            112 | pub enum TokenType {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `TokenType` with `#[derive(PartialEq)]`
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(PartialEq)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `TokenType` doesn't implement `Debug`
[INFO] [stderr]               --> src/lexer.rs:450:5
[INFO] [stderr]                |
[INFO] [stderr]            450 |     assert_eq!(lex_tokens("128i128")[0].typ, I128Lit(128));
[INFO] [stderr]                |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `TokenType`
[INFO] [stderr]                |
[INFO] [stderr]            help: consider annotating `TokenType` with `#[derive(Debug)]`
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Debug)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `TokenType` doesn't implement `Debug`
[INFO] [stderr]               --> src/lexer.rs:450:5
[INFO] [stderr]                |
[INFO] [stderr]            450 |     assert_eq!(lex_tokens("128i128")[0].typ, I128Lit(128));
[INFO] [stderr]                |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `TokenType`
[INFO] [stderr]                |
[INFO] [stderr]            help: consider annotating `TokenType` with `#[derive(Debug)]`
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Debug)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `TokenType`
[INFO] [stderr]               --> src/lexer.rs:452:5
[INFO] [stderr]                |
[INFO] [stderr]            452 |     assert_eq!(lex_tokens("23u8")[0].typ, U8Lit(23));
[INFO] [stderr]                |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                |     |
[INFO] [stderr]                |     TokenType
[INFO] [stderr]                |     TokenType
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `TokenType`
[INFO] [stderr]               --> src/lexer.rs:112:1
[INFO] [stderr]                |
[INFO] [stderr]            112 | pub enum TokenType {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `TokenType` with `#[derive(PartialEq)]`
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(PartialEq)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `TokenType` doesn't implement `Debug`
[INFO] [stderr]               --> src/lexer.rs:452:5
[INFO] [stderr]                |
[INFO] [stderr]            452 |     assert_eq!(lex_tokens("23u8")[0].typ, U8Lit(23));
[INFO] [stderr]                |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `TokenType`
[INFO] [stderr]                |
[INFO] [stderr]            help: consider annotating `TokenType` with `#[derive(Debug)]`
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Debug)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `TokenType` doesn't implement `Debug`
[INFO] [stderr]               --> src/lexer.rs:452:5
[INFO] [stderr]                |
[INFO] [stderr]            452 |     assert_eq!(lex_tokens("23u8")[0].typ, U8Lit(23));
[INFO] [stderr]                |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `TokenType`
[INFO] [stderr]                |
[INFO] [stderr]            help: consider annotating `TokenType` with `#[derive(Debug)]`
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Debug)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `TokenType`
[INFO] [stderr]               --> src/lexer.rs:453:5
[INFO] [stderr]                |
[INFO] [stderr]            453 |     assert_eq!(lex_tokens("2u16")[0].typ, U16Lit(2));
[INFO] [stderr]                |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                |     |
[INFO] [stderr]                |     TokenType
[INFO] [stderr]                |     TokenType
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `TokenType`
[INFO] [stderr]               --> src/lexer.rs:112:1
[INFO] [stderr]                |
[INFO] [stderr]            112 | pub enum TokenType {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `TokenType` with `#[derive(PartialEq)]`
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(PartialEq)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `TokenType` doesn't implement `Debug`
[INFO] [stderr]               --> src/lexer.rs:453:5
[INFO] [stderr]                |
[INFO] [stderr]            453 |     assert_eq!(lex_tokens("2u16")[0].typ, U16Lit(2));
[INFO] [stderr]                |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `TokenType`
[INFO] [stderr]                |
[INFO] [stderr]            help: consider annotating `TokenType` with `#[derive(Debug)]`
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Debug)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `TokenType` doesn't implement `Debug`
[INFO] [stderr]               --> src/lexer.rs:453:5
[INFO] [stderr]                |
[INFO] [stderr]            453 |     assert_eq!(lex_tokens("2u16")[0].typ, U16Lit(2));
[INFO] [stderr]                |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `TokenType`
[INFO] [stderr]                |
[INFO] [stderr]            help: consider annotating `TokenType` with `#[derive(Debug)]`
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Debug)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `TokenType`
[INFO] [stderr]               --> src/lexer.rs:454:5
[INFO] [stderr]                |
[INFO] [stderr]            454 |     assert_eq!(lex_tokens("123u32")[0].typ, U32Lit(123));
[INFO] [stderr]                |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                |     |
[INFO] [stderr]                |     TokenType
[INFO] [stderr]                |     TokenType
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `TokenType`
[INFO] [stderr]               --> src/lexer.rs:112:1
[INFO] [stderr]                |
[INFO] [stderr]            112 | pub enum TokenType {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `TokenType` with `#[derive(PartialEq)]`
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(PartialEq)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `TokenType` doesn't implement `Debug`
[INFO] [stderr]               --> src/lexer.rs:454:5
[INFO] [stderr]                |
[INFO] [stderr]            454 |     assert_eq!(lex_tokens("123u32")[0].typ, U32Lit(123));
[INFO] [stderr]                |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `TokenType`
[INFO] [stderr]                |
[INFO] [stderr]            help: consider annotating `TokenType` with `#[derive(Debug)]`
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Debug)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `TokenType` doesn't implement `Debug`
[INFO] [stderr]               --> src/lexer.rs:454:5
[INFO] [stderr]                |
[INFO] [stderr]            454 |     assert_eq!(lex_tokens("123u32")[0].typ, U32Lit(123));
[INFO] [stderr]                |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `TokenType`
[INFO] [stderr]                |
[INFO] [stderr]            help: consider annotating `TokenType` with `#[derive(Debug)]`
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Debug)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `TokenType`
[INFO] [stderr]               --> src/lexer.rs:455:5
[INFO] [stderr]                |
[INFO] [stderr]            455 |     assert_eq!(lex_tokens("321u64")[0].typ, U64Lit(321));
[INFO] [stderr]                |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                |     |
[INFO] [stderr]                |     TokenType
[INFO] [stderr]                |     TokenType
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `TokenType`
[INFO] [stderr]               --> src/lexer.rs:112:1
[INFO] [stderr]                |
[INFO] [stderr]            112 | pub enum TokenType {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `TokenType` with `#[derive(PartialEq)]`
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(PartialEq)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `TokenType` doesn't implement `Debug`
[INFO] [stderr]               --> src/lexer.rs:455:5
[INFO] [stderr]                |
[INFO] [stderr]            455 |     assert_eq!(lex_tokens("321u64")[0].typ, U64Lit(321));
[INFO] [stderr]                |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `TokenType`
[INFO] [stderr]                |
[INFO] [stderr]            help: consider annotating `TokenType` with `#[derive(Debug)]`
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Debug)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `TokenType` doesn't implement `Debug`
[INFO] [stderr]               --> src/lexer.rs:455:5
[INFO] [stderr]                |
[INFO] [stderr]            455 |     assert_eq!(lex_tokens("321u64")[0].typ, U64Lit(321));
[INFO] [stderr]                |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `TokenType`
[INFO] [stderr]                |
[INFO] [stderr]            help: consider annotating `TokenType` with `#[derive(Debug)]`
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Debug)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `TokenType`
[INFO] [stderr]               --> src/lexer.rs:456:5
[INFO] [stderr]                |
[INFO] [stderr]            456 |     assert_eq!(lex_tokens("321usize")[0].typ, USizeLit(321));
[INFO] [stderr]                |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]                |     |
[INFO] [stderr]                |     TokenType
[INFO] [stderr]                |     TokenType
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `TokenType`
[INFO] [stderr]               --> src/lexer.rs:112:1
[INFO] [stderr]                |
[INFO] [stderr]            112 | pub enum TokenType {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `TokenType` with `#[derive(PartialEq)]`
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(PartialEq)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `TokenType` doesn't implement `Debug`
[INFO] [stderr]               --> src/lexer.rs:456:5
[INFO] [stderr]                |
[INFO] [stderr]            456 |     assert_eq!(lex_tokens("321usize")[0].typ, USizeLit(321));
[INFO] [stderr]                |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `TokenType`
[INFO] [stderr]                |
[INFO] [stderr]            help: consider annotating `TokenType` with `#[derive(Debug)]`
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Debug)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `TokenType` doesn't implement `Debug`
[INFO] [stderr]               --> src/lexer.rs:456:5
[INFO] [stderr]                |
[INFO] [stderr]            456 |     assert_eq!(lex_tokens("321usize")[0].typ, USizeLit(321));
[INFO] [stderr]                |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `TokenType`
[INFO] [stderr]                |
[INFO] [stderr]            help: consider annotating `TokenType` with `#[derive(Debug)]`
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Debug)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `TokenType`
[INFO] [stderr]               --> src/lexer.rs:457:5
[INFO] [stderr]                |
[INFO] [stderr]            457 |     assert_eq!(lex_tokens("128u128")[0].typ, U128Lit(128));
[INFO] [stderr]                |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/lexer.rs:20:28
[INFO] [stdout]    |
[INFO] [stdout] 20 |     ($self:ident, $default:expr, $n:expr,) => {$default};
[INFO] [stdout]    |                            ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout]    = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 20 |     ($self:ident, $default:expr_2021, $n:expr,) => {$default};
[INFO] [stdout]    |                                +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |     |
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/lexer.rs:20:37
[INFO] [stdout]    |
[INFO] [stdout] 20 |     ($self:ident, $default:expr, $n:expr,) => {$default};
[INFO] [stdout]    |                                     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 20 |     ($self:ident, $default:expr, $n:expr_2021,) => {$default};
[INFO] [stdout]    |                                         +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |     TokenType
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/lexer.rs:22:28
[INFO] [stdout]    |
[INFO] [stdout] 22 |     ($self:ident, $default:expr, $n:expr, [$($x1:pat),*] $([$($x2:pat),*])*) => {
[INFO] [stdout]    |                            ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 22 |     ($self:ident, $default:expr_2021, $n:expr, [$($x1:pat),*] $([$($x2:pat),*])*) => {
[INFO] [stdout]    |                                +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |     TokenType
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/lexer.rs:22:37
[INFO] [stdout]    |
[INFO] [stdout] 22 |     ($self:ident, $default:expr, $n:expr, [$($x1:pat),*] $([$($x2:pat),*])*) => {
[INFO] [stdout]    |                                     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 22 |     ($self:ident, $default:expr, $n:expr_2021, [$($x1:pat),*] $([$($x2:pat),*])*) => {
[INFO] [stdout]    |                                         +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/lexer.rs:35:36
[INFO] [stdout]    |
[INFO] [stdout] 35 |     ($name:tt -> $typ:ty, $default:expr, $([$($x:pat),*])*) =>
[INFO] [stdout]    |                                    ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 35 |     ($name:tt -> $typ:ty, $default:expr_2021, $([$($x:pat),*])*) =>
[INFO] [stdout]    |                                        +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `TokenType`
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/lexer.rs:46:38
[INFO] [stdout]    |
[INFO] [stdout] 46 |     ($name: tt -> $typ:ty, $default: expr, $([$val:expr; $($x2:pat),*])*) => {
[INFO] [stdout]    |                                      ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 46 |     ($name: tt -> $typ:ty, $default: expr_2021, $([$val:expr; $($x2:pat),*])*) => {
[INFO] [stdout]    |                                          +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               --> src/lexer.rs:112:1
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/lexer.rs:46:52
[INFO] [stdout]    |
[INFO] [stdout] 46 |     ($name: tt -> $typ:ty, $default: expr, $([$val:expr; $($x2:pat),*])*) => {
[INFO] [stdout]    |                                                    ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 46 |     ($name: tt -> $typ:ty, $default: expr, $([$val:expr_2021; $($x2:pat),*])*) => {
[INFO] [stdout]    |                                                        +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/parser.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |     ($e:expr) => {{
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 10 |     ($e:expr_2021) => {{
[INFO] [stdout]    |             +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            112 | pub enum TokenType {
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]   --> src/parser.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |     ($e:expr) => {{
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]    |
[INFO] [stdout] 19 |     ($e:expr_2021) => {{
[INFO] [stdout]    |             +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/parser.rs:105:11
[INFO] [stdout]     |
[INFO] [stdout] 105 |     ($tok:expr, $panic:expr, $($lhs:pat => $rhs:expr)*) => {
[INFO] [stdout]     |           ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 105 |     ($tok:expr_2021, $panic:expr, $($lhs:pat => $rhs:expr)*) => {
[INFO] [stdout]     |               +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            help: consider annotating `TokenType` with `#[derive(PartialEq)]`
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/parser.rs:105:24
[INFO] [stdout]     |
[INFO] [stdout] 105 |     ($tok:expr, $panic:expr, $($lhs:pat => $rhs:expr)*) => {
[INFO] [stdout]     |                        ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 105 |     ($tok:expr, $panic:expr_2021, $($lhs:pat => $rhs:expr)*) => {
[INFO] [stdout]     |                            +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/parser.rs:105:49
[INFO] [stdout]     |
[INFO] [stdout] 105 |     ($tok:expr, $panic:expr, $($lhs:pat => $rhs:expr)*) => {
[INFO] [stdout]     |                                                 ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 105 |     ($tok:expr, $panic:expr, $($lhs:pat => $rhs:expr_2021)*) => {
[INFO] [stdout]     |                                                     +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            112 + #[derive(PartialEq)]
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/primitive.rs:113:11
[INFO] [stdout]     |
[INFO] [stdout] 113 |     ($lhs:expr; $op:tt $rhs:expr; $op_fn:ident) => {{
[INFO] [stdout]     |           ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 113 |     ($lhs:expr_2021; $op:tt $rhs:expr; $op_fn:ident) => {{
[INFO] [stdout]     |               +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/primitive.rs:113:29
[INFO] [stdout]     |
[INFO] [stdout] 113 |     ($lhs:expr; $op:tt $rhs:expr; $op_fn:ident) => {{
[INFO] [stdout]     |                             ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 113 |     ($lhs:expr; $op:tt $rhs:expr_2021; $op_fn:ident) => {{
[INFO] [stdout]     |                                 +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/primitive.rs:139:11
[INFO] [stdout]     |
[INFO] [stdout] 139 |     ($lhs:expr; $op:tt $rhs:expr; => $rest:expr) => {{
[INFO] [stdout]     |           ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 139 |     ($lhs:expr_2021; $op:tt $rhs:expr; => $rest:expr) => {{
[INFO] [stdout]     |               +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/primitive.rs:139:29
[INFO] [stdout]     |
[INFO] [stdout] 139 |     ($lhs:expr; $op:tt $rhs:expr; => $rest:expr) => {{
[INFO] [stdout]     |                             ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 139 |     ($lhs:expr; $op:tt $rhs:expr_2021; => $rest:expr) => {{
[INFO] [stdout]     |                                 +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            
[INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition
[INFO] [stdout]    --> src/primitive.rs:139:44
[INFO] [stdout]     |
[INFO] [stdout] 139 |     ($lhs:expr; $op:tt $rhs:expr; => $rest:expr) => {{
[INFO] [stdout]     |                                            ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/macro-fragment-specifiers.html>
[INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier
[INFO] [stdout]     |
[INFO] [stdout] 139 |     ($lhs:expr; $op:tt $rhs:expr; => $rest:expr_2021) => {{
[INFO] [stdout]     |                                                +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            error[E0277]: `TokenType` doesn't implement `Debug`
[INFO] [stdout] warning: cannot explicitly borrow within an implicitly-borrowing pattern in Rust 2024
[INFO] [stdout]    --> src/primitive.rs:420:23
[INFO] [stdout]     |
[INFO] [stdout] 420 |         if let String(ref s1) = self {
[INFO] [stdout]     |                       ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/primitive.rs:420:16
[INFO] [stdout]     |
[INFO] [stdout] 420 |         if let String(ref s1) = self {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/match-ergonomics.html>
[INFO] [stdout]     = note: `--force-warn rust-2024-incompatible-pat` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 420 -         if let String(ref s1) = self {
[INFO] [stdout] 420 +         if let String(s1) = self {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               --> src/lexer.rs:457:5
[INFO] [stdout] warning: call to deprecated safe function `std::env::set_var` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/main.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 |     env::set_var("RUST_BACKTRACE", "1");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/newly-unsafe-functions.html>
[INFO] [stdout]    = note: `--force-warn deprecated-safe-2024` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: you can wrap the call in an `unsafe` block if you can guarantee that the environment access only happens in single-threaded code
[INFO] [stdout]    |
[INFO] [stdout] 40 +     // FIXME: Audit that the environment access only happens in single-threaded code.
[INFO] [stdout] 41 ~     unsafe { env::set_var("RUST_BACKTRACE", "1") };
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, std::string::String, TokenType>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]     = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]     = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos + use<'s>, Debug, PartialEq, Clone)]
[INFO] [stdout]     |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            457 |     assert_eq!(lex_tokens("128u128")[0].typ, U128Lit(128));
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, i32, TokenType>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos + use<'s>, Debug, PartialEq, Clone)]
[INFO] [stdout]     |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `TokenType`
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, i32, TokenType>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos + use<'s>, Debug, PartialEq, Clone)]
[INFO] [stdout]     |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, f32, TokenType>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos + use<'s>, Debug, PartialEq, Clone)]
[INFO] [stdout]     |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            help: consider annotating `TokenType` with `#[derive(Debug)]`
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, f32, TokenType>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos + use<'s>, Debug, PartialEq, Clone)]
[INFO] [stdout]     |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, f64, TokenType>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos + use<'s>, Debug, PartialEq, Clone)]
[INFO] [stdout]     |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            112 + #[derive(Debug)]
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, f32, TokenType>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos + use<'s>, Debug, PartialEq, Clone)]
[INFO] [stdout]     |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, i64, TokenType>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos + use<'s>, Debug, PartialEq, Clone)]
[INFO] [stdout]     |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, isize, TokenType>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos + use<'s>, Debug, PartialEq, Clone)]
[INFO] [stdout]     |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, i16, TokenType>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos + use<'s>, Debug, PartialEq, Clone)]
[INFO] [stdout]     |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, i128, TokenType>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos + use<'s>, Debug, PartialEq, Clone)]
[INFO] [stdout]     |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            error[E0277]: `TokenType` doesn't implement `Debug`
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, i8, TokenType>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos + use<'s>, Debug, PartialEq, Clone)]
[INFO] [stdout]     |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]               --> src/lexer.rs:457:5
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, i32, TokenType>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos + use<'s>, Debug, PartialEq, Clone)]
[INFO] [stdout]     |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, u8, TokenType>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos + use<'s>, Debug, PartialEq, Clone)]
[INFO] [stdout]     |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            457 |     assert_eq!(lex_tokens("128u128")[0].typ, U128Lit(128));
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, u32, TokenType>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos + use<'s>, Debug, PartialEq, Clone)]
[INFO] [stdout]     |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Debug` is not implemented for `TokenType`
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, u64, TokenType>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos + use<'s>, Debug, PartialEq, Clone)]
[INFO] [stdout]     |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, u128, TokenType>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos + use<'s>, Debug, PartialEq, Clone)]
[INFO] [stdout]     |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            help: consider annotating `TokenType` with `#[derive(Debug)]`
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, u16, TokenType>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos + use<'s>, Debug, PartialEq, Clone)]
[INFO] [stdout]     |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]                |
[INFO] [stdout] warning: `impl logos::internal::CallbackResult<'s, usize, TokenType>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> src/lexer.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos, Debug, PartialEq, Clone)]
[INFO] [stdout]     |          ^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]     = note: this warning originates in the derive macro `Logos` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 111 | #[derive(Logos + use<'s>, Debug, PartialEq, Clone)]
[INFO] [stdout]     |                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]            112 + #[derive(Debug)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `TokenType`
[INFO] [stderr]               --> src/lexer.rs:460:5
[INFO] [stderr]                |
[INFO] [stderr]            460 | /     assert_eq!(
[INFO] [stderr]            461 | |         lex_tokens("\"Hello World\"")[0].typ,
[INFO] [stderr]            462 | |         StringLit("Hello World".to_owned())
[INFO] [stderr]            463 | |     );
[INFO] [stderr]                | |     ^
[INFO] [stderr]                | |     |
[INFO] [stderr]                | |_____TokenType
[INFO] [stderr]                |       TokenType
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `TokenType`
[INFO] [stderr]               --> src/lexer.rs:112:1
[INFO] [stderr]                |
[INFO] [stderr]            112 | pub enum TokenType {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `TokenType` with `#[derive(PartialEq)]`
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(PartialEq)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `TokenType` doesn't implement `Debug`
[INFO] [stderr]               --> src/lexer.rs:460:5
[INFO] [stderr]                |
[INFO] [stderr]            460 | /     assert_eq!(
[INFO] [stderr]            461 | |         lex_tokens("\"Hello World\"")[0].typ,
[INFO] [stderr]            462 | |         StringLit("Hello World".to_owned())
[INFO] [stderr]            463 | |     );
[INFO] [stderr]                | |_____^ the trait `Debug` is not implemented for `TokenType`
[INFO] [stderr]                |
[INFO] [stderr]            help: consider annotating `TokenType` with `#[derive(Debug)]`
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Debug)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `TokenType` doesn't implement `Debug`
[INFO] [stderr]               --> src/lexer.rs:460:5
[INFO] [stderr]                |
[INFO] [stderr]            460 | /     assert_eq!(
[INFO] [stderr]            461 | |         lex_tokens("\"Hello World\"")[0].typ,
[INFO] [stderr]            462 | |         StringLit("Hello World".to_owned())
[INFO] [stderr]            463 | |     );
[INFO] [stderr]                | |_____^ the trait `Debug` is not implemented for `TokenType`
[INFO] [stderr]                |
[INFO] [stderr]            help: consider annotating `TokenType` with `#[derive(Debug)]`
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Debug)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `TokenType` doesn't implement `Debug`
[INFO] [stderr]               --> src/parser.rs:247:83
[INFO] [stderr]                |
[INFO] [stderr]            247 |         typ: binop_token_to_node!(op, panic!("apply_op for {:?} not implemented", op),
[INFO] [stderr]                |                                                            ----                   ^^ `TokenType` cannot be formatted using `{:?}` because it doesn't implement `Debug`
[INFO] [stderr]                |                                                            |
[INFO] [stderr]                |                                                            required by this formatting parameter
[INFO] [stderr]                |
[INFO] [stderr]                = help: the trait `Debug` is not implemented for `TokenType`
[INFO] [stderr]            help: consider annotating `TokenType` with `#[derive(Debug)]`
[INFO] [stderr]               --> src/lexer.rs:112:1
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Debug)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `TokenType` doesn't implement `Debug`
[INFO] [stderr]               --> src/parser.rs:277:57
[INFO] [stderr]                |
[INFO] [stderr]            277 |     let mut msg = format!("Expected: {:?}, found NONE", typs);
[INFO] [stderr]                |                                      ----               ^^^^ `TokenType` cannot be formatted using `{:?}` because it doesn't implement `Debug`
[INFO] [stderr]                |                                      |
[INFO] [stderr]                |                                      required by this formatting parameter
[INFO] [stderr]                |
[INFO] [stderr]                = help: the trait `Debug` is not implemented for `TokenType`
[INFO] [stderr]            help: the following other types implement trait `Debug`
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/fmt/mod.rs:3130:0
[INFO] [stderr]                |
[INFO] [stderr]                = note: `[T]`
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/array/mod.rs:355:0
[INFO] [stderr]                |
[INFO] [stderr]                = note: `[T; N]`
[INFO] [stderr]                = note: required for `[TokenType]` to implement `Debug`
[INFO] [stderr]                = note: 1 redundant requirement hidden
[INFO] [stderr]                = note: required for `&[TokenType]` to implement `Debug`
[INFO] [stderr]            help: consider annotating `TokenType` with `#[derive(Debug)]`
[INFO] [stderr]               --> src/lexer.rs:112:1
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Debug)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `&TokenType`
[INFO] [stderr]               --> src/parser.rs:281:25
[INFO] [stderr]                |
[INFO] [stderr]            281 |             if &tok.typ == typ {
[INFO] [stderr]                |                -------- ^^ --- &TokenType
[INFO] [stderr]                |                |
[INFO] [stderr]                |                &TokenType
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `TokenType`
[INFO] [stderr]               --> src/lexer.rs:112:1
[INFO] [stderr]                |
[INFO] [stderr]            112 | pub enum TokenType {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `TokenType` with `#[derive(PartialEq)]`
[INFO] [stderr]               --> src/lexer.rs:112:1
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(PartialEq)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `TokenType` doesn't implement `Debug`
[INFO] [stderr]               --> src/parser.rs:287:53
[INFO] [stderr]                |
[INFO] [stderr]            287 |         msg = format!("Expected: {:?}, found {:?}", typs, tok.typ);
[INFO] [stderr]                |                                  ----               ^^^^ `TokenType` cannot be formatted using `{:?}` because it doesn't implement `Debug`
[INFO] [stderr]                |                                  |
[INFO] [stderr]                |                                  required by this formatting parameter
[INFO] [stderr]                |
[INFO] [stderr]                = help: the trait `Debug` is not implemented for `TokenType`
[INFO] [stderr]            help: the following other types implement trait `Debug`
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/fmt/mod.rs:3130:0
[INFO] [stderr]                |
[INFO] [stderr]                = note: `[T]`
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/array/mod.rs:355:0
[INFO] [stderr]                |
[INFO] [stderr]                = note: `[T; N]`
[INFO] [stderr]                = note: required for `[TokenType]` to implement `Debug`
[INFO] [stderr]                = note: 1 redundant requirement hidden
[INFO] [stderr]                = note: required for `&[TokenType]` to implement `Debug`
[INFO] [stderr]            help: consider annotating `TokenType` with `#[derive(Debug)]`
[INFO] [stderr]               --> src/lexer.rs:112:1
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Debug)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `TokenType` doesn't implement `Debug`
[INFO] [stderr]               --> src/parser.rs:298:57
[INFO] [stderr]                |
[INFO] [stderr]            298 |     let mut msg = format!("Expected: {:?}, found NONE", typs);
[INFO] [stderr]                |                                      ----               ^^^^ `TokenType` cannot be formatted using `{:?}` because it doesn't implement `Debug`
[INFO] [stderr]                |                                      |
[INFO] [stderr]                |                                      required by this formatting parameter
[INFO] [stderr]                |
[INFO] [stderr]                = help: the trait `Debug` is not implemented for `TokenType`
[INFO] [stderr]            help: the following other types implement trait `Debug`
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/fmt/mod.rs:3130:0
[INFO] [stderr]                |
[INFO] [stderr]                = note: `[T]`
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/array/mod.rs:355:0
[INFO] [stderr]                |
[INFO] [stderr]                = note: `[T; N]`
[INFO] [stderr]                = note: required for `[TokenType]` to implement `Debug`
[INFO] [stderr]                = note: 1 redundant requirement hidden
[INFO] [stderr]                = note: required for `&[TokenType]` to implement `Debug`
[INFO] [stderr]            help: consider annotating `TokenType` with `#[derive(Debug)]`
[INFO] [stderr]               --> src/lexer.rs:112:1
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Debug)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `&TokenType`
[INFO] [stderr]               --> src/parser.rs:302:25
[INFO] [stderr]                |
[INFO] [stderr]            302 |             if &tok.typ == typ {
[INFO] [stderr]                |                -------- ^^ --- &TokenType
[INFO] [stderr]                |                |
[INFO] [stderr]                |                &TokenType
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `TokenType`
[INFO] [stderr]               --> src/lexer.rs:112:1
[INFO] [stderr]                |
[INFO] [stderr]            112 | pub enum TokenType {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `TokenType` with `#[derive(PartialEq)]`
[INFO] [stderr]               --> src/lexer.rs:112:1
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(PartialEq)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `TokenType` doesn't implement `Debug`
[INFO] [stderr]               --> src/parser.rs:308:53
[INFO] [stderr]                |
[INFO] [stderr]            308 |         msg = format!("Expected: {:?}, found {:?}", typs, tok.typ);
[INFO] [stderr]                |                                  ----               ^^^^ `TokenType` cannot be formatted using `{:?}` because it doesn't implement `Debug`
[INFO] [stderr]                |                                  |
[INFO] [stderr]                |                                  required by this formatting parameter
[INFO] [stderr]                |
[INFO] [stderr]                = help: the trait `Debug` is not implemented for `TokenType`
[INFO] [stderr]            help: the following other types implement trait `Debug`
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/fmt/mod.rs:3130:0
[INFO] [stderr]                |
[INFO] [stderr]                = note: `[T]`
[INFO] [stderr]               --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/array/mod.rs:355:0
[INFO] [stderr]                |
[INFO] [stderr]                = note: `[T; N]`
[INFO] [stderr]                = note: required for `[TokenType]` to implement `Debug`
[INFO] [stderr]                = note: 1 redundant requirement hidden
[INFO] [stderr]                = note: required for `&[TokenType]` to implement `Debug`
[INFO] [stderr]            help: consider annotating `TokenType` with `#[derive(Debug)]`
[INFO] [stderr]               --> src/lexer.rs:112:1
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Debug)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `!=` cannot be applied to type `TokenType`
[INFO] [stderr]               --> src/parser.rs:336:61
[INFO] [stderr]                |
[INFO] [stderr]            336 |     while iter.peek().is_some() && iter.peek().unwrap().typ != TokenType::RBrace {
[INFO] [stderr]                |                                    ------------------------ ^^ ----------------- TokenType
[INFO] [stderr]                |                                    |
[INFO] [stderr]                |                                    TokenType
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `TokenType`
[INFO] [stderr]               --> src/lexer.rs:112:1
[INFO] [stderr]                |
[INFO] [stderr]            112 | pub enum TokenType {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `TokenType` with `#[derive(PartialEq)]`
[INFO] [stderr]               --> src/lexer.rs:112:1
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(PartialEq)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `TokenType` doesn't implement `Debug`
[INFO] [stderr]               --> src/parser.rs:368:79
[INFO] [stderr]                |
[INFO] [stderr]            368 |         binop_token_to_node!(tok.typ, panic!("expected literal, found: {:?}", tok.typ),
[INFO] [stderr]                |                                                                        ----   ^^^^^^^ `TokenType` cannot be formatted using `{:?}` because it doesn't implement `Debug`
[INFO] [stderr]                |                                                                        |
[INFO] [stderr]                |                                                                        required by this formatting parameter
[INFO] [stderr]                |
[INFO] [stderr]                = help: the trait `Debug` is not implemented for `TokenType`
[INFO] [stderr]            help: consider annotating `TokenType` with `#[derive(Debug)]`
[INFO] [stderr]               --> src/lexer.rs:112:1
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Debug)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0277]: `TokenType` doesn't implement `Debug`
[INFO] [stderr]               --> src/parser.rs:560:67
[INFO] [stderr]                |
[INFO] [stderr]            560 |                     &format!("Expected expression, found [{:?}]", tok.typ),
[INFO] [stderr]                |                                                           ----    ^^^^^^^ `TokenType` cannot be formatted using `{:?}` because it doesn't implement `Debug`
[INFO] [stderr]                |                                                           |
[INFO] [stderr]                |                                                           required by this formatting parameter
[INFO] [stderr]                |
[INFO] [stderr]                = help: the trait `Debug` is not implemented for `TokenType`
[INFO] [stderr]            help: consider annotating `TokenType` with `#[derive(Debug)]`
[INFO] [stderr]               --> src/lexer.rs:112:1
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(Debug)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0369]: binary operation `==` cannot be applied to type `TokenType`
[INFO] [stderr]               --> src/parser.rs:580:33
[INFO] [stderr]                |
[INFO] [stderr]            580 |     if iter.peek().unwrap().typ == TokenType::Eof {
[INFO] [stderr]                |        ------------------------ ^^ -------------- TokenType
[INFO] [stderr]                |        |
[INFO] [stderr]                |        TokenType
[INFO] [stderr]                |
[INFO] [stderr]            note: an implementation of `PartialEq` might be missing for `TokenType`
[INFO] [stderr]               --> src/lexer.rs:112:1
[INFO] [stderr]                |
[INFO] [stderr]            112 | pub enum TokenType {
[INFO] [stderr]                | ^^^^^^^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stderr]            help: consider annotating `TokenType` with `#[derive(PartialEq)]`
[INFO] [stderr]               --> src/lexer.rs:112:1
[INFO] [stderr]                |
[INFO] [stderr]            112 + #[derive(PartialEq)]
[INFO] [stderr]            113 | pub enum TokenType {
[INFO] [stderr]                |
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: no method named `clone` found for enum `TokenType` in the current scope
[INFO] [stderr]               --> src/parser.rs:584:50
[INFO] [stderr]                |
[INFO] [stderr]            584 |     let mut lookahead = iter.peek().unwrap().typ.clone();
[INFO] [stderr]                |                                                  ^^^^^ method not found in `TokenType`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lexer.rs:112:1
[INFO] [stderr]                |
[INFO] [stderr]            112 | pub enum TokenType {
[INFO] [stderr]                | ------------------ method `clone` not found for this enum
[INFO] [stderr]                |
[INFO] [stderr]                = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]                = note: the following trait defines an item `clone`, perhaps you need to implement it:
[INFO] [stderr]                        candidate #1: `Clone`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: no method named `clone` found for enum `TokenType` in the current scope
[INFO] [stderr]               --> src/parser.rs:600:46
[INFO] [stderr]                |
[INFO] [stderr]            600 |         lookahead = iter.peek().unwrap().typ.clone();
[INFO] [stderr]                |                                              ^^^^^ method not found in `TokenType`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lexer.rs:112:1
[INFO] [stderr]                |
[INFO] [stderr]            112 | pub enum TokenType {
[INFO] [stderr]                | ------------------ method `clone` not found for this enum
[INFO] [stderr]                |
[INFO] [stderr]                = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]                = note: the following trait defines an item `clone`, perhaps you need to implement it:
[INFO] [stderr]                        candidate #1: `Clone`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error[E0599]: no method named `clone` found for enum `TokenType` in the current scope
[INFO] [stderr]               --> src/parser.rs:607:50
[INFO] [stderr]                |
[INFO] [stderr]            607 |             lookahead = iter.peek().unwrap().typ.clone();
[INFO] [stderr]                |                                                  ^^^^^ method not found in `TokenType`
[INFO] [stderr]                |
[INFO] [stderr]               ::: src/lexer.rs:112:1
[INFO] [stderr]                |
[INFO] [stderr]            112 | pub enum TokenType {
[INFO] [stderr]                | ------------------ method `clone` not found for this enum
[INFO] [stderr]                |
[INFO] [stderr]                = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stderr]                = note: the following trait defines an item `clone`, perhaps you need to implement it:
[INFO] [stderr]                        candidate #1: `Clone`
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            error: aborting due to 127 previous errors
[INFO] [stderr]            
[INFO] [stderr]            
[INFO] [stderr]            Some errors have detailed explanations: E0277, E0369, E0599.
[INFO] [stderr]            
[INFO] [stderr]            For more information about an error, try `rustc --explain E0277`.
[INFO] [stderr] help: to report this as a bug, open an issue at https://github.com/rust-lang/rust/issues, quoting the full output of this command
[INFO] [stderr] help: to possibly apply more fixes, pass in the `--broken-code` flag
[INFO] [stderr] note: original diagnostics will follow:
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.95s
[INFO] [stderr] crater-edition-check: chronos v0.1.0 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]     Checking chronos v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/primitive.rs:420:23
[INFO] [stdout]     |
[INFO] [stdout] 420 |         if let String(ref s1) = self {
[INFO] [stdout]     |                       ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/primitive.rs:420:16
[INFO] [stdout]     |
[INFO] [stdout] 420 |         if let String(ref s1) = self {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 420 -         if let String(ref s1) = self {
[INFO] [stdout] 420 +         if let String(s1) = self {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]    --> src/primitive.rs:420:23
[INFO] [stdout]     |
[INFO] [stdout] 420 |         if let String(ref s1) = self {
[INFO] [stdout]     |                       ^^^ explicit `ref` binding modifier not allowed when implicitly borrowing
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout] note: matching on a reference type with a non-reference pattern implicitly borrows the contents
[INFO] [stdout]    --> src/primitive.rs:420:16
[INFO] [stdout]     |
[INFO] [stdout] 420 |         if let String(ref s1) = self {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^ this non-reference pattern matches on a reference type `&_`
[INFO] [stdout] help: remove the unnecessary binding modifier
[INFO] [stdout]     |
[INFO] [stdout] 420 -         if let String(ref s1) = self {
[INFO] [stdout] 420 +         if let String(s1) = self {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0133]: call to unsafe function `set_var` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/main.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 |     env::set_var("RUST_BACKTRACE", "1");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0133`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `chronos` (bin "chronos") due to 2 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0133]: call to unsafe function `set_var` is unsafe and requires unsafe block
[INFO] [stdout]   --> src/main.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 |     env::set_var("RUST_BACKTRACE", "1");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]    |
[INFO] [stdout]    = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0133`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `chronos` (bin "chronos" test) due to 2 previous errors
[INFO] running `Command { std: "docker" "inspect" "81b5dfd5e51195081fceb9381f7fe9b33c35d6614cf25dee37329955faa84c76", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "81b5dfd5e51195081fceb9381f7fe9b33c35d6614cf25dee37329955faa84c76", kill_on_drop: false }`
[INFO] [stdout] 81b5dfd5e51195081fceb9381f7fe9b33c35d6614cf25dee37329955faa84c76
